{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "63224e59-0cdc-46c8-a4f5-77191ddf5b63",
   "metadata": {},
   "outputs": [],
   "source": [
    "# %load ./windwos_environment.py\n",
    "import sys\n",
    "sys.path.insert(0,\"E:\\\\sympy\\\\sympy\")\n",
    "sys.path.append(\"E:\\\\packaging_tutorial\\\\src\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "e8873433",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['E:\\\\sympy\\\\sympy',\n",
       " 'E:\\\\jupyter',\n",
       " 'D:\\\\anaconda3\\\\python311.zip',\n",
       " 'D:\\\\anaconda3\\\\DLLs',\n",
       " 'D:\\\\anaconda3\\\\Lib',\n",
       " 'D:\\\\anaconda3',\n",
       " '',\n",
       " \"C:\\\\Users\\\\z'y'y\\\\AppData\\\\Roaming\\\\Python\\\\Python311\\\\site-packages\",\n",
       " 'D:\\\\anaconda3\\\\Lib\\\\site-packages',\n",
       " 'D:\\\\anaconda3\\\\Lib\\\\site-packages\\\\win32',\n",
       " 'D:\\\\anaconda3\\\\Lib\\\\site-packages\\\\win32\\\\lib',\n",
       " 'D:\\\\anaconda3\\\\Lib\\\\site-packages\\\\Pythonwin',\n",
       " 'E:\\\\packaging_tutorial\\\\src']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sys.path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "d70715a1",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "%load_ext autoreload\n",
    "%autoreload 1\n",
    "\n",
    "from sympy.calculus.util import *\n",
    "from sympy.abc import *\n",
    "\n",
    "%aimport sympy\n",
    "from sympy import *\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2b0ba578",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "%aimport basic_package.utils\n",
    "from basic_package.utils import *\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6c3e8f4b",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "%aimport excel_function_package.chi_square_test\n",
    "from excel_function_package.chi_square_test import *\n",
    "\n",
    "%aimport function_calculator_package.extreme_points\n",
    "from function_calculator_package.extreme_points import *\n",
    "\n",
    "%aimport quadratic_function.utils\n",
    "from quadratic_function.utils import *\n",
    "\n",
    "%aimport quadratic_function.quadraticfunction\n",
    "from quadratic_function.quadraticfunction import *\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "1fbf8e65",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "%aimport function_calculator_package.extreme_points\n",
    "from function_calculator_package.extreme_points import *\n",
    "\n",
    "%aimport quadratic_function.utils\n",
    "from quadratic_function.utils import *\n",
    "\n",
    "%aimport quadratic_function.quadraticfunction\n",
    "from quadratic_function.quadraticfunction import *\n",
    "\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "2ad020e9-a661-4725-a7ef-1ad155dca476",
   "metadata": {},
   "outputs": [],
   "source": [
    "A,B,C=symbols(\"A,B,C\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "ad78a2f8-da81-4339-8d6c-a10e451e8d51",
   "metadata": {},
   "outputs": [],
   "source": [
    "eq=Eq(2*sin(2*B)-2*sin(A-B),1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e80b8857-54c6-4c3f-b3e0-366104a16967",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 \\sin{\\left(2 B \\right)} - 2 \\sin{\\left(A - B \\right)} = 1$"
      ],
      "text/plain": [
       "Eq(2*sin(2*B) - 2*sin(A - B), 1)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "81438c5c-c3f9-4d92-9f37-2128192b338f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle - 2 \\sin{\\left(A \\right)} \\cos{\\left(B \\right)} + 2 \\sin{\\left(B \\right)} \\cos{\\left(A \\right)} + 4 \\sin{\\left(B \\right)} \\cos{\\left(B \\right)} = 1$"
      ],
      "text/plain": [
       "Eq(-2*sin(A)*cos(B) + 2*sin(B)*cos(A) + 4*sin(B)*cos(B), 1)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expand_trig(eq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "695a3746-e499-4618-9554-c15d973581c1",
   "metadata": {},
   "outputs": [],
   "source": [
    "eq1=eq.subs(A,pi/6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "9b6d7e17-0466-4f38-aa1c-efc1e8bd0972",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 \\sin{\\left(2 B \\right)} - 2 \\cos{\\left(B + \\frac{\\pi}{3} \\right)} = 1$"
      ],
      "text/plain": [
       "Eq(2*sin(2*B) - 2*cos(B + pi/3), 1)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eq1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "8a496eed-21cc-48d4-9007-1c643f65f923",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 4 \\sin{\\left(B \\right)} \\cos{\\left(B \\right)} + \\sqrt{3} \\sin{\\left(B \\right)} - \\cos{\\left(B \\right)} = 1$"
      ],
      "text/plain": [
       "Eq(4*sin(B)*cos(B) + sqrt(3)*sin(B) - cos(B), 1)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expand_trig(eq1)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "a75dcd52",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left\\{\\frac{- \\sqrt{3} \\sin{\\left(B \\right)} + 1}{4 \\sin{\\left(B \\right)} - 1}\\right\\}$"
      ],
      "text/plain": [
       "{(-sqrt(3)*sin(B) + 1)/(4*sin(B) - 1)}"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "solveset(_,cos(B))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "7f03a2a0",
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "'FiniteSet' object has no attribute 'expand'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m/Volumes/jupyter/10月份一般性草稿.ipynb 单元格 15\u001b[0m line \u001b[0;36m1\n\u001b[1;32m----> <a href='vscode-notebook-cell:/Volumes/jupyter/10%E6%9C%88%E4%BB%BD%E4%B8%80%E8%88%AC%E6%80%A7%E8%8D%89%E7%A8%BF.ipynb#X20sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m nonlinsolve([_,sin(B)\u001b[39m*\u001b[39m\u001b[39m*\u001b[39m\u001b[39m2\u001b[39m\u001b[39m+\u001b[39mcos(B)\u001b[39m*\u001b[39m\u001b[39m*\u001b[39m\u001b[39m2\u001b[39m\u001b[39m-\u001b[39m\u001b[39m1\u001b[39m],[sin(B),cos(B)])\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\sympy\\solvers\\solveset.py:3771\u001b[0m, in \u001b[0;36mnonlinsolve\u001b[1;34m(system, *symbols)\u001b[0m\n\u001b[0;32m   3769\u001b[0m system, symbols, swap \u001b[39m=\u001b[39m recast_to_symbols(system, symbols)\n\u001b[0;32m   3770\u001b[0m \u001b[39mif\u001b[39;00m swap:\n\u001b[1;32m-> 3771\u001b[0m     soln \u001b[39m=\u001b[39m nonlinsolve(system, symbols)\n\u001b[0;32m   3772\u001b[0m     \u001b[39mreturn\u001b[39;00m FiniteSet(\u001b[39m*\u001b[39m[\u001b[39mtuple\u001b[39m(i\u001b[39m.\u001b[39mxreplace(swap) \u001b[39mfor\u001b[39;00m i \u001b[39min\u001b[39;00m s) \u001b[39mfor\u001b[39;00m s \u001b[39min\u001b[39;00m soln])\n\u001b[0;32m   3774\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mlen\u001b[39m(system) \u001b[39m==\u001b[39m \u001b[39m1\u001b[39m \u001b[39mand\u001b[39;00m \u001b[39mlen\u001b[39m(symbols) \u001b[39m==\u001b[39m \u001b[39m1\u001b[39m:\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\sympy\\solvers\\solveset.py:3816\u001b[0m, in \u001b[0;36mnonlinsolve\u001b[1;34m(system, *symbols)\u001b[0m\n\u001b[0;32m   3806\u001b[0m     \u001b[39mreturn\u001b[39;00m FiniteSet(\u001b[39m*\u001b[39m\u001b[39mmap\u001b[39m(to_tuple, poly_sol))\n\u001b[0;32m   3807\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m   3808\u001b[0m     \u001b[39m# Here we handle:\u001b[39;00m\n\u001b[0;32m   3809\u001b[0m     \u001b[39m#\u001b[39;00m\n\u001b[1;32m   (...)\u001b[0m\n\u001b[0;32m   3814\u001b[0m     \u001b[39m# If solve_poly_system did succeed then we pass those solutions in as\u001b[39;00m\n\u001b[0;32m   3815\u001b[0m     \u001b[39m# preliminary results.\u001b[39;00m\n\u001b[1;32m-> 3816\u001b[0m     subs_res \u001b[39m=\u001b[39m substitution(remaining, symbols, result\u001b[39m=\u001b[39mpoly_sol, exclude\u001b[39m=\u001b[39mdenominators)\n\u001b[0;32m   3818\u001b[0m     \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m \u001b[39misinstance\u001b[39m(subs_res, FiniteSet):\n\u001b[0;32m   3819\u001b[0m         \u001b[39mreturn\u001b[39;00m subs_res\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\sympy\\solvers\\solveset.py:3362\u001b[0m, in \u001b[0;36msubstitution\u001b[1;34m(system, symbols, result, known_symbols, exclude, all_symbols)\u001b[0m\n\u001b[0;32m   3359\u001b[0m     \u001b[39mreturn\u001b[39;00m result, total_solvest_call, total_conditionst\n\u001b[0;32m   3360\u001b[0m \u001b[39m# end def _solve_using_know_values()\u001b[39;00m\n\u001b[1;32m-> 3362\u001b[0m new_result_real, solve_call1, cnd_call1 \u001b[39m=\u001b[39m _solve_using_known_values(\n\u001b[0;32m   3363\u001b[0m     old_result, solveset_real)\n\u001b[0;32m   3364\u001b[0m new_result_complex, solve_call2, cnd_call2 \u001b[39m=\u001b[39m _solve_using_known_values(\n\u001b[0;32m   3365\u001b[0m     old_result, solveset_complex)\n\u001b[0;32m   3367\u001b[0m \u001b[39m# If total_solveset_call is equal to total_conditionset\u001b[39;00m\n\u001b[0;32m   3368\u001b[0m \u001b[39m# then solveset failed to solve all of the equations.\u001b[39;00m\n\u001b[0;32m   3369\u001b[0m \u001b[39m# In this case we return a ConditionSet here.\u001b[39;00m\n",
      "File \u001b[1;32mD:\\anaconda3\\Lib\\site-packages\\sympy\\solvers\\solveset.py:3252\u001b[0m, in \u001b[0;36msubstitution.<locals>._solve_using_known_values\u001b[1;34m(result, solver)\u001b[0m\n\u001b[0;32m   3250\u001b[0m         imgset_yes \u001b[39m=\u001b[39m (dummy_n, base)\n\u001b[0;32m   3251\u001b[0m \u001b[39m# update eq with everything that is known so far\u001b[39;00m\n\u001b[1;32m-> 3252\u001b[0m eq2 \u001b[39m=\u001b[39m eq\u001b[39m.\u001b[39msubs(res)\u001b[39m.\u001b[39mexpand()\n\u001b[0;32m   3253\u001b[0m unsolved_syms \u001b[39m=\u001b[39m _unsolved_syms(eq2, sort\u001b[39m=\u001b[39m\u001b[39mTrue\u001b[39;00m)\n\u001b[0;32m   3254\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mnot\u001b[39;00m unsolved_syms:\n",
      "\u001b[1;31mAttributeError\u001b[0m: 'FiniteSet' object has no attribute 'expand'"
     ]
    }
   ],
   "source": [
    "nonlinsolve([_,sin(B)**2+cos(B)**2-1],[sin(B),cos(B)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e6320b56",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(sin(2*x)+sin(x-pi/6)-1/2,sin(pi)+sin(pi/2-pi/6)-1/2,(x,0,pi-pi/6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eff6f071",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "050203ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9f8cd7a7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9b68dc35-a84c-4e79-bd43-8cd67a80d4a0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from z3 import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2c9fc90f-07a4-45e1-bc4e-318aae6fd85c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b=Ints(\"a b\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea871ec3-e2b5-483a-90a3-01ff65ecd14b",
   "metadata": {},
   "source": [
    "由于我个人对z3还是不太熟悉，所以暂时在有提示的经典草稿里使用。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "585cefdd-9dfb-4c58-bef3-623af3ae4be1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-2,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "04e96a79-7169-4549-bfe5-0866ee084407",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.equation(x),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "78ebf271-3792-467f-b79d-fe4ff17fd305",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=1-x**2/2-1/(1+x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9056b051-698d-438e-832e-acbd0ee09cd7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c7b757ff-066c-4800-a3a0-78f15c463046",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3f30da5d-c71a-4cc6-abad-4a793dd73167",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=cos(x)-1/(1+x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "707e19cc-71df-4346-94ef-70a28b3df9ac",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c2d7175-f90e-419c-9b16-d8a6de23d24a",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(sequence)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "10195dba-b6ec-4d15-9dda-72ddf4088c8a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "an=sequence((2*n-6)/(2*n-15),(n,1,20))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "273027f4-d12a-4c6c-ba0c-6a69d2e83300",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "count=1\n",
    "for a in an:\n",
    "    print(str(count) + \":\" + str(a))\n",
    "    count+=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "edcea243-5bda-47f2-bc3d-05fe6ad0751e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "apart((2*n-6)/(2*n-15))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eba98384-1e46-4eca-9cad-724076f565f6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=2*cos(omega*x-pi/3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eb0e4317-02a5-4740-9fa5-48c8a752d2dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e4434cad-52c0-4b21-b916-1a5cf4f64c7b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_transfer(expr,x,move=-pi/6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "94eff504-7da9-4b49-90ef-bcc06c3fcd6a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "254247af-0c19-4d4c-943a-efc6a629748f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Eq(check.subs(x,0).args[1].args[0],pi/2+k*pi),omega)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0b30b31d-5f61-4449-808f-9dbd9c8d2e30",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5e3e0448-6e62-4584-bf8e-38ce3687ca80",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e917025c-8900-463e-9606-d497fdb4cccf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(simplify(6/(4+sqrt(6))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "81a1a39a-0a9d-4893-b2c3-b93062fcc4e8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=(2-x**2)/x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a8022f4a-24b8-481e-ac96-c2d1fd5e3e08",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "79f6fccd-676b-4885-a58d-edfcbd698f69",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sinB=sqrt(1-expr**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "179c8d95-d8f1-448b-ba88-657dd82549c6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sinB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "73961c0b-9b43-4327-b0a3-443e3c76e67f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(sinB)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "90913aea-37bb-49bc-8870-deb75e078430",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_*2*x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f24fcf7-5f9b-4745-962f-096dfd332aef",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(sinB**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "68b89863-0ff2-4ec0-b2a0-1663d36aa81e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq((x+2)**2+y**2,9*((x-2)**2+y**2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "219ce486-8bc5-4a18-bcbf-d6338289cee4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=Circle(eq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71b8f256-ec8d-417b-8e2d-cbb15d50d6e3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "492f5098-2316-4ad5-b77e-2d58d6af5926",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "0.729*S(0.16)+S(0.36)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5e978b3f-bf5c-44fb-b15c-132162d55068",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a2056d62-784c-42e3-860f-79ce44bbdbfa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6763fd7d-ce9f-4096-b339-11f92aaf05c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "54a45d30-3c39-4b66-b8d4-a304e3b3494c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "0.4*0.8+0.2*0.7*S(0.01)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8a9fd242-bb67-4b3f-bf8b-5bb12f5bc682",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "0.2*0.7*2*0.9*S(0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b9986ed9-e4dc-4dc5-baea-330c33913f7c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "0.8*0.6+0.2*0.7*0.81+0.2*0.3*S(0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3b6d6f1a-10c2-4311-8ad2-79964f098ae4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "0.2*0.3*S(0.9)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "61f6f23a-942a-41f2-b337-3930724ed751",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "density_X={0:0.4*0.8+0.2*0.7*S(0.01),1:0.2*0.7*2*0.9*S(0.1),2:0.8*0.6+0.2*0.7*0.81+0.2*0.3*S(0.1),3:0.2*0.3*S(0.9)}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "318999ef-81fe-48a4-8156-f431ac4cf60d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "density_X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3df6e575-28af-4a62-b789-75736ea15e0f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy.stats import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bcdee450-abf9-4cc4-a8ed-1c11c863a0e7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "X=FiniteRV(\"X\",density_X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b234799-9ed0-4a99-aa96-be9cc9f0e8ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(density(X).dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "820185cb-f97a-484e-9582-72326af2b608",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "12783fd7-df74-40c7-ae00-5d75b36374fa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e=Ellipse(Point(0,0),2,sqrt(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bb70eb89-766a-4f1f-91b4-4d9f0c88ccf5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f09e33c8-bed0-4b8e-b36a-6fca1f823f78",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para=Parabola(Point(1,0),Line(x+1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4ac48f82-f2fa-48b2-a5ef-2937fc78d37b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "75972499-38fe-4c21-9243-b3ed74173fb7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F=para.focus"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec3c53fe-92b7-44aa-bd3f-e5045d221cf3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "071d91b9-b134-4630-ba0a-8b6dfb3ed82b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b=symbols(\"a,b\",negative=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "22191677-6d2f-4fb4-982d-60ec9b320df0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f4e2f36-a554-42df-ae09-f2c7d12b99fa",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(idiff)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "29473060-73c7-40d3-bc65-e59ed46ba4ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "idiff(para.equation(x,y),y,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dfd0ff29-b04c-48e4-b9fa-7c174284c51e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(b*y-2*(x+a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f1f86ff-f21c-40f3-8dad-60ea8dca395b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "87779076-9163-47c3-a992-c369d28f44ea",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l,para)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3c6bf714-601a-41dc-8a87-a40696cbcb9e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a24596a1-da45-4f58-a120-02caf38b1137",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2fbaeafe-0360-4a7a-8f5f-3a66ec0b6725",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "quest=(A.y-B.y)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6d265152-270f-4c91-b7be-e049e04a83dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "quest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "79935964-5d80-4986-9960-85d40970edea",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "calc=quest**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c1a3793c-6b20-459a-afaf-f60da0ccffca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "calc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1bb03eef-ead2-4409-8bb8-0c2bbe0e1aed",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "calc.subs(b**2,2*(1-a**2/4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "edfb3766-7120-4df9-9d1b-5802f863d684",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b750f74-74d4-41e2-bdce-e98970f44912",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(check,(a,0,-2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ade5044-79fd-4096-a41e-61c681686961",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check.subs(a,-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2064cb07-341d-4c05-a7a0-45a1b2d123d6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,para,first=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9118a3ea-f883-4940-aea1-6c02fc46fd01",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(e.equation(x,y),y**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46fd6515-0c35-4bd7-9f8a-b9d5533375aa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=x*(1-ln(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9145bead-2510-45d0-9070-cbf6447baac5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c989d214-392d-4a85-b532-b9c8302eda4c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "diff(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ceb8709-ecd3-438c-bdd1-2371832d22a2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "diff(expr.subs(x,2-x),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49db9baf-d2b7-4ae1-91ba-3774765eb2ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f78ce1c8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "my_library_path=os.path.abspath(\"../packaging_tutorial/src\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "54ef98a2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sys.path.append(my_library_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7017ee94",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sys.path.pop()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e89ff743",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from basic_package.utils import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f4d2b57e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e=Ellipse(vradius=1,eccentricity=2/sqrt(5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9221a2ed",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e.equation()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ee67134",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F1,F2=e.foci"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3faf5cf4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ef5534c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b=symbols(\"a,b\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f98afc65",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "225c31dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e=Ellipse(Point(0,0),a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d24a638e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e056f3a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F1,F2=e.foci"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f8049841",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49cceef4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "k=symbols(\"k\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63405354",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l1=Line(F2,slope=k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cf3dc99b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l1.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71e76418",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l2=Line(F2,slope=-1/k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a20dc4ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l2.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8be297eb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l1,e)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f6c62602",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C,D=Intersection(l2,e)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5b0d8247",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(Polygon)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "70fc31bd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(Triangle)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6ed0c6e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Polygon(A,B,C,D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7821bd90",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "597f07f4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=symbols(\"c\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40d9a703",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(P.area)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1de265ca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ea5da82",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "area=_.subs(sqrt(a**2-b**2),c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "244d9071",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(area)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b481e08",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P.area.subs({a:sqrt(5),b:1})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a46638d0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(P.area.subs({a:sqrt(5),b:1}),k,Interval.Ropen(0,oo))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2fb637d7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=(A+B)/2\n",
    "M"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0c1d1386",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N=(C+D)/2\n",
    "N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ee9995c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l3=Line(M,N)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8722b31b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(simplify(l3.equation()))\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "191d79e6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(_,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ed9959ea",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "AB=simplify(A.distance(B))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "669e76ca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "CD=simplify(C.distance(D))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96ce622a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b67aaad4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "area=AB*CD/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d58f305b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "area"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6a135d2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "area1=area.subs({a:sqrt(5),b:1})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5309273",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(area1,k,Interval(0,oo))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "429cf88f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=exp(x)-t*sin(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0165d8dd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4cf0f8ec",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1=expr.subs(t,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e7c625fe",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f800fd3a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(expr1,(x,0,pi))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d3742ff",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "diff(expr1,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "af2c16ee",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(expr1,x,Interval(o,pi))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bab866c6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy import N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "75d2f4d4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(exp(pi/4))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f11d359b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(exp(pi/4)-3/sqrt(2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "561a0dcf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr2=expr.subs(t,-3)-1-t*x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5bab921c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a671acfa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=list(solveset(expr2,t))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "938ad328",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96c7cc6f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(diff(check,x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fa90fcb6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(check,(x,-5,5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "49237978",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "94698adc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=ln(x)-x+x/exp(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7b94975a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "30d86c97",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(diff(expr,x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2fbe6c8a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "p=symbols(\"p\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e95767f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para=Parabola(Point(p/2,0),Line(x+p/2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c4c7f22e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "eaf236b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=Point(sqrt(2),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d31b968",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N=Point(sqrt(3),0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "21ed3b73",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "k1,k2=symbols(\"k1:3\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4680e008",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "k1=symbols(\"k1\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7a577cc4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l1=Line(M,slope=k1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7344d814",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l1.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5616e22e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l1,para)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0b9b3b86",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85dee82f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "141c9025",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(Point(c,0),slope=k1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3be01cc5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,para,first=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "567cb268",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq((2*x+(1-(1-x)**2))/(2*(2-x)+(1-(1-x)**2)),S(15)/7)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23f97c99",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "31757964",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(eq,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c059e0a8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=Ellipse(Point(0,0),sqrt(5),1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5cfbf6c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "47927b4b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*(x-2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7a0cd1c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "22f7ac75",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ecec383a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l,c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d688d3f4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(simplify(A.distance(B)))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "92596a04",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=(A+B)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ab35c48",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b10dd03c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(M.y/(M.x-S(5)/3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cf4c9a1c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(_.subs(k,-1/k))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd343ce2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=solveset(log(x,2)<2,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "97af5a34",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "\n",
    "A=Interval.open(0,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "73cd55ef",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "10cec3a9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=solveset(2/(x-3)>=-1,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c8322473",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0fb93f43",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Intersection(A,Reals-B)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "03dbd52a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "alpha=asin((sqrt(5)-1)/4)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2a43debc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(expand_trig((cos(2*alpha))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "66b6af32",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(solveset(Eq(z*(3-I),7+I),z,Complexes))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "73428a04",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "dir(Parabola)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b56f8812",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=x**2-y**2/2-1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "56983e7a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b810543f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=expr.subs(y,k*x+2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "21c5d38d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "814db1ca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(collect(expand(check),x),x=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae883db7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "801b84d9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "083c8855",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri=Triangle(sss=(2,3,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "76c24398",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "for k,v in tri.angles.items():\n",
    "    if(v>pi/3):\n",
    "        print(\"ok\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5fa5ca68",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data=[5,3,8,6,10,7,6,4,8,7]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50d62bef",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9892d8e8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "333e31c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(x*cos(theta)+y*sin(theta)-2*cos(theta)-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2de40ad4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(l.equation().subs(theta,5*pi/3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d727040",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(sqrt(188))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "80ae52ca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(sqrt(228))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38bfe44d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "\n",
    "chi=ChiSquaredTest(Matrix([[37,85],[35,143]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "675b6c40",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(chi.chi_squared_value)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "09c2d8ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi.expand_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63fab68a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi=ChiSquaredTest(Matrix([[10,18],[m,26]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "972b78f9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi.chi_squared_value.subs(m,14)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5b148578",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi.chi_squared_value.subs(m,15)>chi.chi_squared_value.subs(m,14)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "afff5170",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(_,(m,10,20))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bbdb098f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi=ChiSquaredTest(Matrix([[n/5,n/5],[n/5,2*n/5]]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "117c2bad",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi.chi_squared_value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "84788474",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "chi_squared_of_error_probability(0.025)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6951ce67",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Rational(N(sqrt(2)*(sqrt(5)+sqrt(3))*(sqrt(5)-sqrt(3)))).limit_denominator(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d07540f5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(Rational(N(pi)).limit_denominator(200)-pi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63f98123",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answer=list(nonlinsolve([a**2+b**2-3,(m+n)**2-10,a*m-b*n-2,a*n+b*m-4],[a,b,m,n]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5e41f48d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "len(answer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bb098dea",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "for ans in answer:\n",
    "    print(simplify(nsimplify(ans[2])*nsimplify(ans[3])))\n",
    "    print(ans[0]<ans[1] and ans[2]>ans[3])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "88052eed",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "for i in answer[2]:\n",
    "    print(N(nsimplify(i)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a459cbb5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "gen=x**2-2*x-1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1532f47c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "gen"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7b26d124",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=3*x**3-10*x**2+5*x+2027"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3645c59b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5922fcec",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "apart(expr/gen)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "609140ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=(a-(2*a-1)/a)*a/(a**2-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8b1042cf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b336a69d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1001c0ed",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "continuous_domain(expr,a,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c5bd972e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=((x+2)/(x*(x-2))-(x-1)/(x-2)**2)/((x-4)/(x*(x-2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f751e854",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "39d4d4c9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ac64dfe4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-1,-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b481eac4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6fc50af4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=(x-1-3/(x+1))/((x**2-4)/(x+1)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37b8039f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "255e7175",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "continuous_domain(expr,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2696091c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(-5,S(30),-25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7bc896da",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a64a8c53",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ca707426",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data={a:1,b:3}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "478f45a2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4a43d288",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1=(a+2*sqrt(b))**2-(a+sqrt(b))**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3bd3a983",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "86f3fb6b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5fb38a54",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_.subs(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a2b8d2c9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr2=(a+3*sqrt(b))**2-(a+2*sqrt(b))**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6ac272de",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "532f4eb5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_.subs(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "29ee839b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=(a+n*sqrt(b))**2-(a+(n-1)*sqrt(b))**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c0d27510",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "de684c9f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_.subs(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "009e4fc1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Eq(x/(x-3),(x+1)/(x-1)),x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8280a0b3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Eq(x/(x-3)+3*a/(3-x),2*a),x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "52f4d12f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(320+150)/1100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "717c0fa3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(x/2+(x+1)/3>0,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "709fa4e1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((2*x+5)/3-1<=2-x,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aaf3dc5a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((3*(x-1)+5>5*x+2*(m+x)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a41a1101",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((x+1)/3<x/2-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85c70bf7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(x+a>=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ee2bb73",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(Max)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f943202",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Max(2*x+1,2-x)>3,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "58f90ba4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((x+15)/2>=x+3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1ae00c34",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(4*x+1>=a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "400f062f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((2*x+a)/3-(x+a)/2-1,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a624e3d0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ans1,ans2=list(linsolve((Matrix([[2,3],[1,4]]),Matrix([5*a,2*a+3])),[x,y]))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a6d1fbad",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ans1-ans2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d240cf43",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((x+2)/3>x/2+1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c2de0cf0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(4*x+a<x-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "09fdd41e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((a+2)/(x-1)+(x+2)/(1-x)-2,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e3c25b6f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(2*x-4<2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b677bc7a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(3*x+2>=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "82ddacb4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([1400/x-1260/y,x-y-1],[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ada03896",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=15*600-10*150-6*(x-150)-9*(600-x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "273f2737",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "22c88d50",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[20,30],[30,40]]),Matrix([10200,14400])),[x,y],Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cbed92a7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-3,-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "402e5f63",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fb418fd3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sqrt(24200/20000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0fd5e4fb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(2,-25,50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "acbad6c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "212ac385",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction((x-100)*(300+5*(200-x))-32000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "60b323bd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1782b633",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(q.equation()/5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "779f0053",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-10,22)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85185bb2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "x1,x2=q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ec490bf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(sqrt(x1**2+x2**2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1e0da8ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((100-x)*(50-x)-3600,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2ffc27a8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction((100-2*x)*(50-2*x)-3600)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fc19725d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(q.equation()/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "281691b9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=2*(a+1)*a/(a-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5e8cb64",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c48815a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "apart(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef8f2168",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr.subs(a,1+sqrt(2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c4d2538d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(k,-(2*k+4),k-6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50c50e50",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.delta>0,k,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96f60ac5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation(x).subs(k,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ab6d40a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "m=symbols(\"m\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "da964c06",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-(2*m+1),m*(m+1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6d94eb35",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(q.delta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c28060bb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "x1,x2=q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e1cbef5a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=(2*x1+x2)*(x1+2*x2)-20"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "89c9bb9e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "09c1d4ac",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(expr,m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f27572e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(2*(2*m+1)**2+m**2+m-20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4e6362f4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "2.5*5/4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7fb7ad56",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "def calc(a,b):\n",
    "    return a[0]*b[0]-a[1]*b[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "345c26a4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "calc([-4,3],[2,-6])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "85b3da9d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(calc([x,2*x-1],[m*x+1,m]),x=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d109340",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "88db007c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.delta>=0,m,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c1da2a88",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cc4e8ee2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq(200*(40-x)*(20-x),300*x*(30-x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50a2ed41",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(eq.lhs)/200\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "108e6099",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(eq.rhs)/300\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd551929",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(eq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4bfcef33",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(eq,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5025d9c3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "m,n=symbols(\"m,n\",real=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9b0153c9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[3,-m],[2,n]]),Matrix([3-2*m,2+2*n])),[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e1efae17",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(36*x+2-22*(x+4)+2,x,Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "162c663d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "36*6+2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "825003f3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[5,3],[3,7]]),Matrix([33500,43500])),[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d5243bb7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "x1,x2=list(linsolve((Matrix([[3,-1],[1,1]]),Matrix([4*m+1,2*m-5])),[x,y]))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b3fe95c3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "x1-x2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7ea7a5dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[20,30],[30,20]]),Matrix([270,230])),[x,y],Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c13ccba1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq((3*m+7*(40-m))*(80-4*m)+(7*m+3*(40-m))*(8+4*m),17280)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6cafbd20",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4845cecd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(eq,m,Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fa3ebebe",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[1,1],[10,20]]),Matrix([150,2000])),[x,y],Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae4726f5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sqrt(15**2+8**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a445da3c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N(sqrt(57))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e5f47c33",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(0,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2526ab5d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(2,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "510376df",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(3,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "319971d9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri=Triangle(A,B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "edf5fb41",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(A,B).slope"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cab81358",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(A,C).equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "87e31c89",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(C,B).equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "984265e2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(Plane)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bc6027f7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(-S(0.01),S(1.4),-S(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9c523ebb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "521be515",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation(rational=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8fbb6269",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "381db4de",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.extreme_value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cecf4515",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(0,6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ef8108c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd3736c6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=Point(-8,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c550db62",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=(A+M)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ba183d6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y+2*x+6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2fa383e1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "m=Line(M,A).perpendicular_line(P)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "123a7193",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "m.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cacb24f9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N=Intersection(m,l)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d8731ca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4607c0cd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(-2,9,-10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ca914c0f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9cbb357a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_transfer(1/x,x,move=4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7328565f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(gamma)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "33107507",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from basic_package.vec import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d540548c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a=Matrix([1,1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9fd7167c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "276cdf59",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "b=Matrix([0,-1,1/S(2)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1a120ba9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ceacbe93",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "def vecs_angle(vec1, vec2):\n",
    "    length_vec1 = sqrt(vec1.dot(vec1))\n",
    "    length_vec2 = sqrt(vec2.dot(vec2))\n",
    "    dot_time = vec1.dot(vec2)\n",
    "    return acos(dot_time / (length_vec1 * length_vec2))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "84cc1990",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "vecs_angle(a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e93ebff",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-2*x+1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef5019ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(Point(0,9))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3b7253fa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(Point(0,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a2ed7a6b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(Point(0,-11))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d8c9049",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(Point(0,-12))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3407e13f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri=Triangle(sss=(sqrt(5),sqrt(6),3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aec520ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri.area"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3e8b7afe",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(sin)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6463ca3b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a,b=symbols(\"a ,b\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71832df2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e=Ellipse(Point(0,0),a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "55d5d2b8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*(x+sqrt(a**2-b**2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a415d0ef",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l,e)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6f43be72",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(A.distance(B))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ed7e84ff",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b5ae0fd1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6b43829",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(2,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2377ffc9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(6,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9e6dfe41",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq(3*P.distance(A),P.distance(B))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2991e48f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fd34f785",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=Circle(equation_transfer(eq,square=True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef832162",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c02fbe01",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(3*x-4*y+3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "361eb88c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(c.center)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d53fe85",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-2,0,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1db800ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(-1,1,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "be61e896",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(-3,0,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8c5057ed",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(A,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e09ed527",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.distance(B)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7522cd09",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para=Parabola(Point(S(1)/2,0),x+S(1)/2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "519e18eb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0946dbe6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "k"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1a976f33",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*(x-4/k**2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d535b662",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,para)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ccd1d0b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(16,5,S(-9)/4).roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a52dda9e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(-1,-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "208af150",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=Circle(Point(3,1),2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "93bca0f2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l1,l2=c.tangent_lines(P)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b3637fd0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=list(Intersection(l1,c))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "66337795",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=list(Intersection(l2,c))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ea632167",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(Line(A,B).equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71710db0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ad1d51af",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-K*(x-2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "db95c475",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l,para)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e4e2b019",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(A.distance(B))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a28ded8e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from basic_package.vec import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "08952fa5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "%aimport basic_package.vec\n",
    "from basic_package.vec import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec5022a6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a=MatrixSymbol(\"a\",1,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fe2503a8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "b=MatrixSymbol(\"b\",1,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8bb766f7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "c=MatrixSymbol(\"c\",1,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a3fab505",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ac1=a+b+c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "736e1211",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ac1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d9af9942",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a1b=b-a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "579cfd64",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a1d=c-a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cfd77aef",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data={a*a.T:Matrix([1]),b*a.T:Matrix([1/S(2)]),c*a.T:Matrix([1/S(2)]),a*b.T:Matrix([1/S(2)]),b*b.T:Matrix([1]),c*b.T:Matrix([1/S(2)]),a*c.T:Matrix([1/S(2)]),b*c.T:Matrix([1/S(2)]),c*c.T:Matrix([1])}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5cddd1c0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f637e0bb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=(expand(ac1*a1b.T))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6149b815",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "258411ec",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answer=(check.subs(data))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e0c23fa6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Add(*answer.args)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bbce70f6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ae=b+c+a/S(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "efeb7204",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "ae"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "970ecf42",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "af=2/S(3)*(b+c)+1/S(3)*a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40c8828b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "af"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ea4a591f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "af-2/S(3)*ae"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "75a28e94",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "X=Matrix([sqrt(3),-1,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d2f60d25",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "feb360c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Y=Matrix([0,2,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bde29b6a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "424c7acd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Z=Matrix([0,0,2])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9abd0f51",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "82a7486f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Matrix([0,0,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2b1b344b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Z"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f133a8af",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Q=2/S(3)*(Y+X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "06e88627",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f7fff69b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N=(X+Z)/S(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96c70d2f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9d5e6ab2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Matrix([[A],[P],[Q]]).reshape(3,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "de758154",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[A],[P],[Q]]).reshape(3,3),Matrix([0,0,0])),[x,y,z])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f87d177b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[N],[P],[Q]]).reshape(3,3),Matrix([0,0,0])),[x,y,z])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "262cd57e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Matrix([[N],[P],[Q]]).reshape(3,3).inv()*Matrix([1,1,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "962d058c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check_n=Point(_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a69d9adc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check_n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5b3e0ce8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check_m=Point(P-Q)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3855dd25",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check_m"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "72b362d4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Matrix(check_n).T*Matrix(check_m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "21e85d29",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check_m=Matrix([-1/sqrt(3),1,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "da3c5821",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "vecs_angle(check_m,Matrix(check_n))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0bbe08b9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "cos(nsimplify(_))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f439baf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "a=symbols(\"a\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dac619a6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq(y,(4*sqrt(3)+sqrt(6))/7*(x-a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "40af80e0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "539d4159",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e9d19f51",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(eq.subs({x:2*sqrt(a**2+1),y:sqrt(3)*sqrt(a**2+1)}),a,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "967af6b0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "%aimport quadratic_function.hyperbola\n",
    "from quadratic_function.hyperbola import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "704d4443",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "h=Hyperbola(Point(0,0),1,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6ff9596e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "h.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "776fdf78",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*x-1/k,x=x,y=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5961525f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,h,x=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "54531558",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(_,x=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "739588b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(q.delta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1498729f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A,B=Intersection(l,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "175efca9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri=Triangle(A,B,Point(0,0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3aa066b1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "tri.area"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37676ffd",
   "metadata": {},
   "source": [
    "## 验算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4326c164",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "e=Ellipse(Point(0,0),2,sqrt(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f0b897e3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(x-2*y-m,x=x,y=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d4a62148",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "x,y=symbols(\"x,y\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "12984060",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,e,first=False,x=x,y=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e0af6b8e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(_,x=y).delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96c2135e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(_,m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d903ca7a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para=Parabola(Point(S(1)/2,0),x+S(1)/2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0c14b41e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ca1450c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy.abc import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "10c578a7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*x-b,x=x,y=y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46d477e0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,para,x=x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1c0ea387",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(_,x=x).delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6827cf4d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "295ced73",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(y-k*(x-2))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9874cea0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "line_and_quadratic(l,para)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d7196c43",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction((a-2),(a+1),a/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "911a2ed7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(q.delta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b859699f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(q.equation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23ab7200",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8df60371",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction((q.equation(x)).subs(a,-S(1)/4)).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "989c81f7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(x/(4-x)-3/S(4),x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6f60a638",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(Point(-1,0),Point(0,3),Point(3,0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8610c049",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e56f0327",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ff7ed7b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(4**2+x**2-(8-x)**2,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "daa25b6f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(Point(3,10),Point(0,0),Point(8,0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "73a9fb97",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e69b6686",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0fd3c5d7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(t/(10-2*t)-4/S(5),t,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d8903eaa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(t/(10-2*t)-5/S(4),t,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ee4c1105",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=-(x-m)**2+m**2+1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7c28c333",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24b50923",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(expr.subs(x,-2)-4,m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f0b0d099",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(1,-16,60).roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ab069538",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solve_univariate_inequalities([2*n+3>1,n-1<1,3*n/2+1<1],n,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a4b20d64",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solve_univariate_inequalities([2*n+3<1,n-1>1,3*n/2+1>1],n,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ba0ec57",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(k/4,k-1,k-3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "127e0899",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.delta,k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a52936b2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(q.equation().subs(k,-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bd644b69",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(1,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b705ae23",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(5,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dc0c9123",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "h=symbols(\"h\",positive=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "69ea0139",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(0,h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "95606ec5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=Point(3,1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "753eea0d",
   "metadata": {},
   "source": [
    "### vertice A"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5456c62c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(A,M)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f593608e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=list(Intersection(l,Line(C,B)))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37ca340e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(D.y*2-h)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "119e92b5",
   "metadata": {},
   "source": [
    "#### vertice B "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef53c8b1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=(C+A)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c5a972c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(D,B).slope-Line(M,B).slope"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "23e381f2",
   "metadata": {},
   "source": [
    "### vertice C"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "05b1d1b2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((h-1)/h-1/sqrt(2),h)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a72cae4c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(Point(1,0),Point(5,0),Point(0,3/2)).a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "afd27b8d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(QuadraticFunction(Point(1,0),Point(5,0),Point(0,5/(2*sqrt(2)-2))).a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d8ac2f2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(Point(1,0),Point(5,0),Point(0,9/2)).a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8adcaadc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(QuadraticFunction(Point(1,0),Point(5,0),Point(0,sqrt(2)+2)).a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "59c29148",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(B,M).equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1a225135",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-1,0)\n",
    "B=Point(4,0)\n",
    "C=Point(0,-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a3205368",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(A,B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ddc5c82",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46334d2f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=Point(x,q.equation(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7f529ad4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a1c2c5f0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E=list(Intersection(Line(B,C),Line(A,D)))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d57ff38a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3719461f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((D.y-E.y)/E.y)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a2a5f1a3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify((D.y-E.y)/E.y)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b7e8393b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.equation(x).subs({x:3*x/4})-(x-2),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0e124742",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(solveset(q.equation(x).subs({x:5*x/4})-(2),x))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bcc66fec",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "063448dd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(1/S(2),2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6555ce34",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(2,S(1)/2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "03ffaf0b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(t,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c7e5ec72",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "aa63f1f0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P.distance(A)-P.distance(B)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fb10077b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(Line(A,B).equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "494fe840",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-(3*m+1),(m+4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d92f211b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dcfeced1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation(x).subs(x,1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d3031075",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(q.delta).free_symbols"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c13dad54",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[20,40],[40,20]]),Matrix([145,129])),[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ccac8ddf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve([20*x+40*y-S(6)/10*(40-15)-S(145),20*y+40*x-S(6)/10*(20-15)-S(4)/10*(40-20)-S(129)],[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6271a88d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((r-2.4)**2+3.6**2-r**2,r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "54308e68",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(1.5**2+3.5**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "38e7a782",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "S(3.9)**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f5ec6051",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sqrt(3.9**2-1.5**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "158c1713",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sqrt(3.9**2-3.5**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bec3069d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,7,-12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4fbea18e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50a753c2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(13**2-(x+7)**2-x**2,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b3ea7d6e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "num=9-x/10"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ca80cfe4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "num"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "44857541",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "profit=num*(x-30)-50"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c8dc2f72",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "profit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b7280c6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(profit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0f61fdc6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(profit)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d07c2cb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "528cc0aa",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(profit>17.5,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "789d27c8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand((x-45)*(x-75))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d10d1c84",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data={88:2,89:1,90:5,91:3,95:2,96:1,97:3,98:2,99:1}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0eb3ff51",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6b9ef62",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "sum(data.values())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ef990fe",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "def frequency_to_density(fre: dict) -> dict:\n",
    "    sum_num = sum(list(fre.values()))\n",
    "    density = {}\n",
    "    for k, num in fre.items():\n",
    "        density[k] = num / sum_num\n",
    "    return density\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dd24f541",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "density_X=frequency_to_density(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "951c5fa0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "density_X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "895971be",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy.stats import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "06fbd3c4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "X=FiniteRV(\"X\",density_X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5a66293",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P(X<90)-P(X<80)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c63b8701",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P(X<97)-P(X<90)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "559d0c5e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P(X<=100)-P(X<97)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1f7126e9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f4ee8c7a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "45**2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "65955121",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(sin)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1ade39ec",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(x-3*x+9*x+567,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "80f334a6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "help(floor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "26c3069a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset((x*(x+1)/2)>2021,x,Naturals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ada12a5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "63*64/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "25ece4b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "def next(a):\n",
    "    q=symbols(\"q\",positive=True)\n",
    "    return nsimplify(list(solveset(Eq(1/q+1/a,q-a),q,Interval.open(0,oo)))[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4e37ae52",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "next(S(1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b46676a4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answers=[S(1)]\n",
    "for i in range(0,3):\n",
    "    answers.append(next(answers[i]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6c7ba246",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2a4662d0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(m,1,1-m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a024a43",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ea35ae9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(q.delta,x=m).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cd0589c5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4484b324",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,p,12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1947fa34",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "07901be9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=5*x**2-4*x*y+y**2-2*y+8*x+3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f4ccef4b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ffb13b43",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(expr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "25832029",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=5*(x+a)**2+(y+b)**2-4*(x+a)*(y+b)+c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fdb0d849",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "collect(expand(check),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "574538c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "collect(expand(check),y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3eb38716",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(check.subs({a:2,b:3,c:-2}))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "95ccfd83",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(expr-W)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6fdc48f3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d206b3e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f7561784",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(list(solveset(q.delta,W))[0],x=y).symmetry_equation(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec299734",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(expr).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "16511cb0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "collect(expand(expr.subs(y,a+x)),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0314c607",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(_).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bfdcea31",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "p,q=symbols(\"p,q\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a1259723",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua=QuadraticFunction(1,p,q)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9fc1c3fc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "582726af",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.extreme_value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5aa8b543",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([qua.symmetry-1,qua.extreme_value-1],[p,q])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "16564766",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([qua.symmetry+2,qua.extreme_value-5],[p,q])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5e9dde49",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([qua.symmetry-x,qua.extreme_value-(2*x-1)],[p,q])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c26c0339",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([qua.symmetry-(-x/2),qua.extreme_value-(-x/2)**2],[p,q])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "71bec0dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(x,a*x**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4b677813",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "477de6f3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P2=P.subs(x,x+1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e570355d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "10da5c1e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P3=P.subs(x,x+2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "375b3e20",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "de8c5664",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Triangle(P,P3,P2).area"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "28dbf48c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Point(z,1/z)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3f0896f8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(-1/S(2),3/S(2),2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4618b7a7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c863a655",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5bc4a6d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation(x).subs(x,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "42c1e951",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.equation(x)-(4-x),x,Reals)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9e3fcffc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation(x)*2+x-4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2620c7d8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(0,8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0272ad96",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(4,8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3dc9dacc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(8,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "76141286",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=Point(10,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7ae953be",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(A,B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "332db5b2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(B,D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "770b38e0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c2ffd3d3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(l.equation(x,y).subs(y,q.equation(x)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9a1f2dde",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(-3*(q.equation(x))/4-(x-10),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "59102ca3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation(x).subs(x,32/S(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "601b46a1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(32/S(3),-8/S(9))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0927ec7a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq((2*t/sqrt(5))/(8/S(9)),(x-t/sqrt(5))/(32/S(3)-x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c9c07f8f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ebb29b1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answer=list(solveset(eq,x).args[0])[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a34b93e8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "answer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f241a9e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(answer,t,Interval.open(0,4*sqrt(5)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dcfcc615",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq_end=Eq(((answer-t/sqrt(5))**2+(2*t/sqrt(5))**2),(answer-x)*answer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c47368d0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "list(simplify(solveset(eq_end,x)))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46f9c960",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "apart(list(simplify(solveset(eq_end,x)))[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "68d87ab3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(_,x=t).symmetry_equation(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c5fb83fb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(_,t,Interval.open(0,4*sqrt(5)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c61f0608",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P.distance(B)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d339089a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "897b6cda",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "77d26880",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-1,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a540dee3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(2,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "08be137b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(0,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c6d8a04f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(A,B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9f933a2a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5f2a35c3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e4819afc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(l.equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5b80e0cd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq=Eq(m/2,(-m**2+2*m+2)/(2-m))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23d255c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "eq"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9fda2f46",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(eq)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5ef23559",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(q.equation(x).subs(x,1+sqrt(5)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2aab3798",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5fdab2c1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0a3b0ff7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-2,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "12d9911b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(6,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1bacc19e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(0,-6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24a931e6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(A,B,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "48bca9be",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b1ef20ba",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.extreme_value"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7ca7c426",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fc910c16",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ce1bebc4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(q.equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c08de694",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(q.equation(x).subs(x,6-m))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef543377",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=Point(2,-8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "96873269",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E,=Intersection(Line(A,C),Line(B,D))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "deacb33c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0dbb9830",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A.distance(E)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c21f8bd3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[0,1],[6-m,1]]),Matrix([-6,m**2/2-4*m])),[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "988c9164",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "linsolve((Matrix([[6,1],[m,1]]),Matrix([0,m**2/2-2*m-6])),[x,y])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2030b0c9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua=QuadraticFunction(-S(1)/2*(x-3)**2+9/S(2)+sqrt(3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "50156d10",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.equation(x).subs(x,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ae6048eb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8e5f7f7c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "p,q=symbols(\"p,q\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "42ae8ec8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(0,p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4c0dcf53",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(q,qua.equation(q))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "12cddd6b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c4e789f8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "750b6628",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "qua.roots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "816e258b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Q=(C+P)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "458ef089",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "14149369",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Line(C,P).perpendicular_line(Q).equation(x,y).subs({x:3,y:0})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "24b9ef7c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(qua.equation(x)-(x/sqrt(3)+sqrt(3)),x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9086b364",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(qua.equation(x).subs(x,6-2/sqrt(3)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8d97341b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(-(x+2)*(x-4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b71ed7f4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4fc04337",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "690c0ec2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-2,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cc21266d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(4,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6258373e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(0,8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f144fcca",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(t,q.equation(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "680765b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "466e8ec1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E,=Intersection(Line(A,P),Line(C,B))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37d7a496",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ffbf7f72",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D,=Intersection(Line(A,P),Line(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2d3500bf",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e489aab4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F,=Intersection(Line(C,B),Line(x-t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8e3602a5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7287d9d8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E.x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "938c736b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "S=(C.y-D.y)*E.x/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e08c2413",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a5d9e134",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "S0=((P.x-E.x)/(E.x))**2*(1+(B.x-P.x)/(P.x-E.x))*S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9cc200ee",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(S0-S)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6c1aad1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(_,x=t).symmetry_equation(t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec7eb7c4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(0,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "015e1d85",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(2,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3834dbc1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(t,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c0a91e87",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8af62e95",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "F=Point(0,-4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2c749f39",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q1=QuadraticFunction(B,C,F)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f46bced5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand(q1.equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "51fd588a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q2_expr=function_transfer(q1.equation(x),x,move=-2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "77b697ee",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q2_expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "afef5c23",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=QuadraticFunction(q1.equation(x)-list(solveset(Line(A,C).equation(x,y),y))[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "23348c71",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(check.delta,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "36ecf5eb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(check.delta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6e76e3e3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(A,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b2ed6d06",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.equation(x,y).subs({x:QuadraticFunction(q2_expr).vertex.x,y:QuadraticFunction(q2_expr).vertex.y})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "699bcee2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(_,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f3e013bd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q3_expr=function_transfer(q2_expr,x,lift=-2/(t-1)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "df0005b4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "collect(expand(q3_expr),x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8293c957",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E,=Intersection(l,Line(y+2*x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c94119d2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "E"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f4ea495f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D=Point(E.y,-E.x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b1f786f2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0eb4d13a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q3_expr.subs(x,D.x)-D.y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fc6c705e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(_,t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2805b57b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "\n",
    "D.subs(t,6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8290f7bb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q1.a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "39bb31dc",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q1.b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6eb537f0",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "QuadraticFunction(q2_expr).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fce91a26",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(QuadraticFunction(q2_expr).vertex)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e62c78f3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(1,-2,-8)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "53034a1a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(factor(q.equation(x))+8,x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02738a8e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "from sympy import S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3438a439",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Line(Point(0,-8),slope=-1/S(2)).equation(x,y),y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6d769a67",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(q.equation(x)-list(_)[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "168b3964",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para=Parabola(Point(0,1/S(4)),Line(y+1/S(4)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ee57b480",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "para.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d01181d9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "O,G=Intersection(para,Line(y-2*x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "34a76500",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "H=(O+G)/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a9e650f2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l=Line(H,slope=k)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1db748c3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "l.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "80fe49d8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M,N=Intersection(para,l)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2c5a0614",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P,=Intersection(Line(M,O),Line(N,G))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8feb0792",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a3fa187d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P1=simplify(P.subs(k,0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0c8fe1ce",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P2=simplify(P.subs(k,1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a0e51e2f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(Line(P1,P2).equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2209a7b1",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(P.y-2*(P.x-1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fa046047",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A=Point(-1,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4763a526",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "C=Point(0,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0506e2e2",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "H=Point(1,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "626364a6",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q=QuadraticFunction(H,A,C)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e798606",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3d8d11bb",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(q.equation())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "fe56bfa4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "B=Point(4,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "678a315c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=q.equation(x)-list(solveset(Line(C,B).equation(x,y),y))[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e02d6ba7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "factor(check)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "95156889",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.equation(x).subs(x,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a37de54b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "q.symmetry"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4f4ca23a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "P=Point(2,3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c6f8eea3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A.distance(P)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "92f5f00e",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "T,=Intersection(Line(A,P).perpendicular_line((A+P)/2),Line(x-7/S(2)))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02066cf9",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "02dd12b5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "A+P-T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "673c9d3b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=Point(7/S(2),t)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "29c52e41",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6b7602f4",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(P.distance(M)-A.distance(P))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "594f07dd",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "nonlinsolve([y**2-x**2-7,x**2+2*y*x-8],[x,y],Interval.open(0,oo))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "781274a3",
   "metadata": {},
   "source": [
    "# 到了193页最后，没时间校对了！！！"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce915f01",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "id": "0c19f876",
   "metadata": {},
   "source": [
    "# 合格水平考试"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5aa9dca3",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=solveset(log(x,2)<2,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5dbcc61a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a21be5a5",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "M=Interval.open(-oo,4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "55887a53",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N=solveset((x-6)/(2-x)<=0,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f3426069",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left(-\\infty, 2\\right) \\cup \\left[6, \\infty\\right)$"
      ],
      "text/plain": [
       "Union(Interval.open(-oo, 2), Interval(6, oo))"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "N"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4111c3fe",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Union(M,N)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "46c317da",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expand((1-1/I**2023)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "759d1182",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "Matrix([[1,2],[2*m,3*m-1]]).det()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9dc17a98",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_range(sqrt(2)*sin(2*x+pi/4),x,Interval(-pi/4,pi/4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ba0f7e1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left(-3, -1\\right)$"
      ],
      "text/plain": [
       "Interval.open(-3, -1)"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "solveset(Abs(x+2)<1,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ef7cd715",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data=[70,72,78,81,80,79,66,83,86,89,94,98,88,89,88]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c52d1586",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "len(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0211d164",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data.sort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a092c9da",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[66, 70, 72, 78, 79, 80, 81, 83, 86, 88, 88, 89, 89, 94, 98]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "62a49fd5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "87.0"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "(data[8]+data[9])/2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "ec96d264",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\cos{\\left(3 x + \\frac{\\pi}{4} \\right)}$"
      ],
      "text/plain": [
       "cos(3*x + pi/4)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "function_transfer(sin(x),x,scale=1/S(3),move=-pi/4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "37f7e5ac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{\\sqrt{2}}{2}$"
      ],
      "text/plain": [
       "sqrt(2)/2"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "_.subs(x,0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bffc7ac8",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=floor(x)/2**x-x/4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "406f4f1a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4240f69f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(expr,(x,0,2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e7cf591d",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "plot(sin(x),cos(x),tan(x),(x,pi/4,pi/3))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9510996f",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr=2*sin(omega*x+phi)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "cb2b53e7",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "04c6ae0c",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "simplify(function_transfer(expr,x,move=-pi/6))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f881ef9a",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1=expr.subs({omega:2,phi:-pi/3})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c0e0622b",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "expr1.subs(x,5*pi/12)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "3f21e735",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'expr1' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m/Volumes/jupyter/10月份一般性草稿.ipynb 单元格 824\u001b[0m line \u001b[0;36m1\n\u001b[1;32m----> <a href='vscode-notebook-cell:/Volumes/jupyter/10%E6%9C%88%E4%BB%BD%E4%B8%80%E8%88%AC%E6%80%A7%E8%8D%89%E7%A8%BF.ipynb#Z2254sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m expr1\u001b[39m.\u001b[39msubs(x,pi\u001b[39m/\u001b[39m\u001b[39m6\u001b[39m)\n",
      "\u001b[1;31mNameError\u001b[0m: name 'expr1' is not defined"
     ]
    }
   ],
   "source": [
    "expr1.subs(x,pi/6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dac21202",
   "metadata": {},
   "outputs": [
    {
     "ename": "",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31mnotebook controller is DISPOSED. \n",
      "\u001b[1;31m有关更多详细信息，请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
     ]
    }
   ],
   "source": [
    "check=(1/(2*a)+8/b)*(4*a+b)/6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "cb637c8d",
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'check' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32m/Volumes/jupyter/10月份一般性草稿.ipynb 单元格 826\u001b[0m line \u001b[0;36m1\n\u001b[1;32m----> <a href='vscode-notebook-cell:/Volumes/jupyter/10%E6%9C%88%E4%BB%BD%E4%B8%80%E8%88%AC%E6%80%A7%E8%8D%89%E7%A8%BF.ipynb#Z2256sZmlsZQ%3D%3D?line=0'>1</a>\u001b[0m expand(check)\n",
      "\u001b[1;31mNameError\u001b[0m: name 'check' is not defined"
     ]
    }
   ],
   "source": [
    "expand(check)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "17c25753",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\frac{3}{4} - \\left(x - \\frac{1}{2}\\right)^{2}$"
      ],
      "text/plain": [
       "3/4 - (x - 1/2)**2"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "QuadraticFunction(-1,S(1),1/S(2)).symmetry_equation()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "03fb26b8",
   "metadata": {},
   "outputs": [],
   "source": [
    "expr=Piecewise((log(x,2),And(0<x , x<=1)),(4-x**2,x>1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "907627e9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\begin{cases} \\frac{\\log{\\left(x \\right)}}{\\log{\\left(2 \\right)}} & \\text{for}\\: x \\leq 1 \\wedge x > 0 \\\\4 - x^{2} & \\text{for}\\: x > 1 \\end{cases}$"
      ],
      "text/plain": [
       "Piecewise((log(x)/log(2), (x <= 1) & (x > 0)), (4 - x**2, x > 1))"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8edc75b3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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QrtDs9Yk6pVf9uhozukFDLWq+OmWrjEa2i5KAT687Sh7TqdTd955p+bOnavffvtNMTExZf45gny99N9hcerWIEyPzd+iZXuO6spXluqlIXHq3qh6mX8+d+d0OpWfn//PD0S56927999WQd58881q0qSJ/vOf/1DiXEx+fr62b9+ubt26mR2FIvdX99xzj4YPH158Re6BBx5QYmKibr/9dpOT/TOHw6lvN6foxYU7dfDYSUlSdDV/3XN5I13doqY8Pay/tiUnJ0d79uwp/v3+/fuVkJCgatWqKTo62sRkGDt2rD777DN9/fXXCgoKKp5XGhISIj8/vzL7PIZhaEi7KLWuU0XjPtugHanZ+r/31+j2S+trYp9G8nKDn/Py8NBDD6lfv36KiopSdna2Zs2apd9++00LFiwwOxokBQUF/W0+aUBAgEJDQy9qninKxr333qv+/fsrOjpa6enpevrpp5WVlaURI0aYHY0i91dDhw7VsWPH9Nxzz0mSVqxYoe+//1516tQxOVnJnE6nlu4+qikLdmjr4dPHHIUFemt874Ya1i5a3p7u8xfbunXr1LNnz+Lf/zE3YcSIEfrggw9MSgXp9IazktSjR48z7p8xY4ZGjhxZ5p+vQXiQ5o3tome+266PVx3Um4v3Kv5ghl69vrVqhDDU+ldpaWkaPny4UlJSFBISohYtWmjBggW6/PLLzY4GuLxDhw7p+uuv19GjR1W9enV17NhRq1atcoluwD5yJbDKEV0bk05oyoIdWrH3mCQp0MdTt3avp1u6xjCEikrjh80puv/LTcrOL1K1AG+9MixO3Roy1ArA/VHkSuDqRS4jt0BPf7tNczYkS5K8PWy6qWMdje1ZX6GBPianAyrewWO5GvPpem09nCXDkMb3aqjxvRvKg1WtANwYRa4ErlrknE6nvk44rCe/3aaM3AIZhvSvVrV092WNOLwelV5eoV1PfrtNn60+faRelwahmja0laoH8Y8bAO6JIlcCVyxySRkn9ci8LVq864gkqUmNIE2+prlaRbMxKvBnczcc0kNztuhUoV3hQT569fpW6lDP3E07AaA8UORK4EpFzu5w6oMVBzT1x506VWiXt6dNd/VuqFu712OFHlCC3WnZGvPpeu1Oz5GHzdC9fRrrtu712EAYgFuhyJXAVYrc4ROnNO6z9VqfeEKS1D6mmiZf01z1qwealgmwipMFRXp47hbN/X0uaa8m4Xp5SJxC/L1MTgYAZYMiVwJXKHLL9xzVnTM3KCO3QEE+nnroqks0tG0UVxSAUnA6nZq1NkmPz9+qgiKHoqv5682b2qhppGtMmQCAi0GRK4GZRc7hcGr64r16ceFOOZxSs8hgvXlTGxYzABdhS3Kmbv8kXoeOn5Kvl03PXdNCg1rVMjsWAFwUilwJzCpymacKNfGLjfp5e5okaUjb2npyYKx8vTieBbhYJ04WaPysBC35fcHQyM519fBVlzDXFIBlUeRKYEaR23Y4S3d8Gq+Dx07K29OmJwc007D2HDsFlCW7w6lpP+/Sq7+ePuqtfd1qeu3GVgoP4jQIANZDkStBRRe5OesP6aG5m5VX6FDtqn6afmMbNa8dUu6fF6isFm5N1cQvNio7v0jhQT6aflNrtalTzexYAFAqFLkSVGSRe3fpPj393XZJ0qWNquuVYXGq4u9drp8TgLTvSI5u+zheu9Nz5Gkz9Fj/phresY4MgwVFAKyBiSEme2fJ/0rc7ZfW14yR7ShxQAWpVz1Q88Z20VXNa6rI4dRjX2/VxNkblVdolyTNnDlTvr6+Sk5OLn7OqFGj1KJFC2VmZpoVGwCKcUWuBBVxRe6dJfv0zPenS9z43g1192UNuRIAmMDpdOrdpfs1+YftcjillrVD9NbwtooI9lFcXJy6deum1157TU888YTeffddrVq1SrVqseIVgPkociUo7yL39pK9evb7HZKku3o31N2XNyrzzwGgdJbvOaqxn63XiZOFqh7ko7eGt9HhTct13XXX6bHHHtPUqVO1dOlSNWvWzOyoACCJIlei8ixylDjAdR08lqvRH63TrrQceXvY9My/YjX51oHaunWrFi5cqEsvvdTsiABQjDlyFeytxZQ4wJXVCQ3QnDFd1KdphArsDt335SYdqt5RdodTERERZscDgDNwRa4E5XFF7s9z4iZc1lATLqPEAa7K4XDqgU+W6IttOZKkgJwkNTqyTHM//8TkZADwP1yRqyAr9h7Vsz9Q4gCrSEw8qI//M0yX+R2Qv7eHcgOjtKZKD839dZXZ0QCgGEWuAmSePH3sltMpDWsXRYkDXFxGRob69eunAQMG6N3Hx+qrOzqrdlU/eVWtqYk/pOjnbWlmRwQASQytlqgsh1bHz9yg+RsPq26ov74b300BPp5llBJARcnILdDYT9dr5b5jMgzpoX6XaFS3GLYMAmAqrsiVs68TkjV/42F52Ay9PDSOEgdYVLUAb310S3td3z5aTqf0zPfb9cBXm1VQ5DA7GoBKjCJXjpJPnNIj87ZIksb3aqhW0VVNTgTgYnh52PTsv2L12NVNZTOkz9clafh7q3U8t8DsaAAqKYpcOXE4nJr4RYKy84rUKrqKxvasb3YkAGXAMAz9u2uM3hvZToE+nlq9P0OD3liuPek5ZkcDUAlR5MrJu8v2adW+DPl7e+jlIXHy9OBbDbiTno3DNWdMZ0VV89PBYyf1rzeWa8muI2bHAlDJ0C7KwbbDWXrhx52SpMf7N1XdsACTEwEoD40igjRvTBe1q1tV2XlFuvmDtfp41UGzYwGoRChyZSyv0K4Jn29Qod2pPk0jNKRtlNmRAJSj0EAffTKqg65tXVt2h1OPztuiZ77bJoeDDQEAlD+KXBl7fsFO7UrLUVigjyZf05ytCYBKwMfTQ1MHt9C9fU7vEfnO0v2649N4nSqwm5wMgLujyJWhZbuP6v3l+yVJL1zXQqGBPiYnAlBRDMPQuF4N9cqwOHl72PTj1jQNe2eVjmTnmx0NgBujyJURp9OpZ38/R/WmjtHq2STc5EQAzDAwrpY+Hd1BVf29tDHphAa9vly707LNjgXATVHkysiGpBPalpIlH0+b7u3T2Ow4AEzUrm41zRnTRTFhAUo+cUrXTF+h5XuOmh0LgBuiyJWRT1aeXqnWv2Wkqvh7m5wGgNliwgI0547OxStaR7y/RrPXJZkdC4CbociVgYzcAn27OUWSdFPHOianAeAqqgZ465NRHTQwLlJFDqfu+3KTXvl5tzjiGkBZociVgdnrklRQ5FDzWiFqWTvE7DgAXIiPp4emDY0rPt3l5Z936cE5m1Vk54xWABePIneRHA6nPl2dKOn0Ige2GwHwV4Zh6L6+TfT0oFjZDGnW2iSN/midcvOLzI4GwOIochdpye4jSsw4qSBfTw1oWcvsOABc2E0d6+it4W3l62XTop1HdD3bkwC4SBS5i/TJ78fxXNemtvy8PUxOA8DVXd40QjNHd1S1AG9tOpSpa6Yv174jOWbHAmBRFLmLcOj4Sf26I10SixwAnL9W0VX11R2dVSfUX0kZp3Tt9BWKP3jc7FgALIgidxFmrkmUwyl1rh+q+tUDzY4DwEJiwgL01R2d1bJ2iI6fLNQN76zST9vSzI4FwGIocheooMihz9ee3hNqOFfjAFyAsEAfzby1o3o1CVd+kUO3fxKvL9ay1xyA80eRu0ALtqbqaE6BIoJ9dFnTCLPjALAof29PvT28jQa3qS27w6n7v9qk1xftYa85AOeFIneB/jjJYVi7aHl58G0EcOE8PWx6/roWuqPH6b3mXvhxp578dpscDsocgHOjgVyAnanZWnMgQx42Q9e3jzY7DgA3YBiG/nNFEz16dVNJ0ozlB3T3FwkqKGLjYAAlo8hdgD+2HLn8kgjVCPE1OQ0Ad3JL1xhNGxonT5uhrxMO65YP17JxMIASUeRK6VSBXXM3JEuShndikQOAsjeoVS29N7Kd/L09tHT3Ud3wziody2HjYAB/R5Erpb1HcpSTX6RqAd7qXD/U7DgA3NSljarrs9EdVdXfSxsPZWrwWyt1+MQps2MBcDEUuVJKzDgpSYqu5s+5qgDKVVxUFX15R2dFhvhq35FcDX5zJadAADgDRa6Ukv5U5ACgvNWvHqgv7+isetUDlHzilIa8tVJbD2eaHQuAi6DIlVLS8dNFLqqan8lJAFQWkVX89MVtndQsMlhHcwo07K1VWnsgw+xYAFwARa6UEjNOz1HhihyAivTHKRDtY6opO79Iw99brUU7082OBcBkFLlSOvT70GpUVYocgIoV7Oulj/7dXr2ahCuv0KHRH67TNxsPmx0LgIkocqXgcDh16PjpK3JRXJEDYAJfLw+9NbyNBrSMVJHDqfGzNujT1QfNjgXAJBS5UkjLzlOB3SEPm6GabAQMwCReHjZNGxqnmzpGy+mUHp67RW8u3mt2LAAmoMiVQtLv8+Miq/jKk/NVAZjIZjP01MBYje15+nzW537YoZd/2iWnk/NZgcqENlIKScyPA+BCDMPQfX2b6L6+jSVJr/yyW8/9sIMyB1QiFLlSSGQPOQAuaGzPBnrs6qaSpLeW7NPj87fK4aDMAZUBRa4U/reHHEUOgGv5d9cYPfuv5jIM6aOVB/XAnE2yU+YAt0eRK4VDv8+Rq12VzYABuJ4bOkTrpSEtZTOkL9Yd0t2fJ6jQ7jA7FoByRJErBYZWAbi6f7WqrdduaC1Pm6H5Gw9r3GfrlV9kNzsWgHJCkTtP+UV2pWXnSWJoFYBru7J5Tb39f23k7WnTj1vTdOtH8corpMwB7sgti1zdunVlGMYZtwceeOCiXjP5+Ck5nZK/t4dCA7zLKCkAlI9eTSL0/oh28vPy0OJdR3TzjLXKzS8yOxaAMuaWRU6SnnzySaWkpBTfHnnkkYt6vcQ/bT1iGEZZRASActW1YZg+/Hd7Bfp4auW+Yxr+3mpl5RWaHQtAGXLbIhcUFKQaNWoU3wIDAy/q9ZKKj+ZioQMA62gfU02fjOqgYF9PrU88oeHvrVHmKcoc4C7ctshNmTJFoaGhiouL0zPPPKOCgoKLer1DGWw9AsCa4qKqaOatHVXV30sbk05o+HurlXmSMge4A7cscnfddZdmzZqlRYsWady4cZo2bZrGjBlzzufk5+crKyvrjNufJXKqAwALaxYZos9Gd1S1AG9tOpSpG99bpRMnL+4fuADMZ5kiN2nSpL8tYPjrbd26dZKku+++W5deeqlatGihUaNG6c0339R7772nY8eOlfj6kydPVkhISPEtKirqjI+zGTAAq7ukZrBmju6o0ABvbUnO0g3vrNbxXMocYGWG0yKH8h09elRHjx4952Pq1q0rX1/fv92fnJys2rVra9WqVerQocNZn5ufn6/8/Pzi32dlZSkqKkqZmZkKDg5WyycWKvNUoX6c0F2NawRd3BcDACbalZatG95ZpaM5BbqkZrA+HdVB1ViND1iSp9kBzldYWJjCwsIu6LkbNmyQJNWsWbPEx/j4+MjHx+esH8s8VVg8OZhTHQBYXaOIIM0c3VHXv7Na21OydMM7q/TpqA4KDTz7/wMBuC7LDK2er5UrV+rll19WQkKC9u/fry+++EK33XabBgwYoOjo6At6zaTf58eFBngrwMcy3RcAStQwIkizbu2o6kE+2pGarRveWa2jOfn//EQALsXtipyPj48+//xz9ejRQ02bNtVjjz2m0aNHa+bMmRf8moeYHwfADTUID9SsWzsqPMhHO9Oydf3bq3QkmzIHWInbXV5q3bq1Vq1aVaavmcjWIwDcVP3qgfr8tk66/u1V2p2eo+vfWaXPRndQeNDf5xsDcD1ud0WuPCRlnN4MOJrNgAG4oZiwAM26taNqhvhqT3qObmSYFbAMitx5KN56hD3kALipur+XuRrBvtqdnqOb3l2tDLYmAVweRe48MLQKoDKoExrw+7Dq6QUQN767mk2DARdHkfsHDodTh47/MbRKkQPg3upVD9RnozsqLNBH21OydBPHeQEujSL3D47m5KugyCEPm6GaIUz+BeD+GoQHauboDsUnQAx/f3XxXpoAXAtF7h/8MT+uZoivPD34dgGoHBpGBOnT0R1U1d9Lmw5lasT7a5SdR5kDXA3N5B8kM6wKoJJqUiNYn47qqCr+XkpIOqGRM9YqJ7/I7FgA/oQi9w+Sj+dJYsUqgMqpaWSwPrmlg4J9PRV/8LhunrFGuZQ5wGVQ5P5B8dYj7CEHoJKKrRWij2/poCAfT609cFyjP1qnvEK72bEAiCL3j5JPnB5aZesRAJVZy6gq+vCW9grw9tCKvcd0xyfxKihymB0LqPQocv8gmXNWAUCS1Dq6qt4f2U6+XjYt2nlEd83aoCI7ZQ4wE0XuH6T9foA0ix0AQOpQL1RvD28rbw+bftiSqvu+3CSHw2l2LKDSosj9A6dT8vPyUGiAt9lRAMAldG9UXa/d0EoeNkNzNyTr4Xlb5HRS5gAzUOTOQ1Q1PxmGYXYMAHAZfZrV0LShcbIZ0sw1iXry222UOcAEFLnzwLAqAPxd/5aRmnJtC0nSjOUHNHXhTpMTAZUPRe481GYPOQA4q8Fto/TUwGaSpNcX7dXri/aYnAioXChy54EVqwBQsuGd6uqhK5tIkl74cafeW7bf5ERA5UGROw8MrQLAud3avb4mXNZQkvTUt9s0a02iyYmAyoEidx441QEA/tldvRvqtu71JEkPzt2s7zalmJwIcH8UuRJk5xUW/5pzVgHgnxmGoQf6NdH17aPldEoTPt+g33ammx0LcGsUuRIkHz99NFc1fy8F+HianAYArMEwDD09KFZXt6ipQrtTt38Sr3UHMsyOBbgtilwJkn4vcpFcjQOAUvGwGXppSJx6NK6uvEKHbv5grbYezjQ7FuCWKHIl+GNjy5hQihwAlJa3p03Tb2yjdnWrKjuvSCPeX6N9R3LMjgW4HcPJVtxnlZWVpZCQEGVmZio4ONjsOABgSZmnCnX926u0LSVLtar4afbtnRRZhQVkQFnhihwAoNyE+Hnpo1vaq15YgJJPnNJN763WsZx8s2MBboMiBwAoV2GBPvp4VAdFhvhq35FcjZixRll/2hkAwIWjyAEAyl2tKn76eFQHhQZ4a0tylkZ9uE55hXazYwGWR5EDAFSI+tUD9eG/2yvIx1Nr9mdo/MwNKrI7zI4FWBpFDgBQYWJrhejt/2srb0+bFm5L0yPztog1d8CFo8gBACpUp/qh+u+wONkMadbaJL24cJfZkQDLosgBACrcFbE19fSg5pKk1xbt0QfL95ucCLAmihwAwBQ3dIjWxMsbSZKe+Hab5m88bHIiwHoocgAA04zr1UAjOtWR0ylN/CJBS3cfMTsSYCkUOQCAaQzD0OP9m+nqFjVVaHfqto/jtTHphNmxAMugyAEATGWzGXpxSEt1bRCmkwV23fzBWu3lXFbgvFDkAACm8/H00JvD26hF7RBl5Bbo/95bo9TMPLNjAS6PIgcAcAmBPp6aMbJd8bmsI97nKC/gn1DkAAAuIzTQRx/+u73Cg3y0My1bt30Ur/wijvICSkKRAwC4lKhq/ppxczsF+nhq5b5jum/2JjkcnP4AnA1FDgDgcppFhmj6Ta3laTM0f+NhTVmww+xIgEuiyAEAXFK3htX1/HUtJElvLdnH6Q/AWVDkAAAu65rWtXVf38aSTp/+8MPmFJMTAa6FIgcAcGljetTXTR2j5XRKd32eoLUHMsyOBLgMihwAwKUZhqEnBsTq8qYRKihyaNSH67QnPdvsWIBLoMgBAFyeh83Qf4e1UqvoKso8VagR769VehYbBgMUOQCAJfh5e+i9Ee0U8/uGwSNnrFU2GwajkqPIAQAso1qAtz68ub3CAr21LSVLYz5dr4Iih9mxANNQ5AAAlhId6q8ZI9vL39tDS3cf1cNzN8vpZMNgVE4UOQCA5TSvHaLXb2wtD5uh2fGH9Nqve8yOBJiCIgcAsKSejcP1xIBmkqQXf9qlrxOSTU4EVDyKHADAsm7qWEe3dq8nSbpv9iat2c8ec6hcLqrIFRYWKikpSTt37lRGBn94AAAV74ErmqhfbA0V2B269eN12nskx+xIQIUpdZHLycnRW2+9pR49eigkJER169ZV06ZNVb16ddWpU0ejR4/W2rVryyMrAAB/Y7MZenlonOKiqujEyULdPGOtjuXkmx0LqBClKnIvv/yy6tatq3feeUe9evXSnDlzlJCQoJ07d2rlypV6/PHHVVRUpMsvv1xXXHGFdu/eXV65AQAo5uvloXdHtFVUNT8lZpzU6I/WKa/QbnYsoNwZzlKs2R48eLAee+wxNW/e/JyPy8/P13vvvSdvb2+NGjXqokOaISsrSyEhIcrMzFRwcLDZcQAA52FPeo6unb5CmacKdVXzmnr1+lay2QyzYwHlplRF7s+ys7MVFBRU1nlcBkUOAKxp1b5jGv7eahXanbr90vp6oF8TsyMB5eaCFzt069ZNqampZZkFAICL1rFeqJ6/roUk6c3Fe/XZ6kSTEwHl54KLXNu2bdWhQwft2LHjjPs3bNigK6+88qKDAQBwof7VqrYmXNZQkvTo11v02850kxMB5eOCi9y7776rf//73+ratauWLVumXbt2aciQIWrbtq18fHzKMiMAAKV2V++GuqZ1LdkdTo37bIN2pmabHQkoc54X8+THH39c3t7euvzyy2W329W3b1+tXbtWrVu3Lqt8AABcEMMw9Nw1LZR8/JRW78/QLR+u1byxXRQWyMUGuI8LviKXkpKi8ePH66mnnlLTpk3l5eWlYcOGUeIAAC7D29OmN29qo7qh/jp0/JRuZVsSuJkLLnL16tXT0qVLNXv2bMXHx2vOnDkaM2aMpkyZUpb5AAC4KFUDvPXeyHYK9vXU+sQT+s9Xm3SBGzYALueCi9yMGTO0YcMGXXXVVZKkvn37atGiRXrllVc0ZsyYMgsIAMDFql89UNNvaiNPm6GvEw7r1V/3mB0JKBMXvI9cSQ4cOKArr7xS27ZtK8uXrXDsIwcA7mfmmkQ9OGezJOnV61upf8tIkxMBF+eCr8iVpG7dulq+fHlZvywAABft+vbRGtU1RpJ07+yN2pB43OREwMUpVZFLTDy/TRWrVq0qSUpOTi59IgAAytGDV16i3k3ClV/k0OiP4pV84pTZkYALVqoi165dO40ePVpr1qwp8TGZmZl65513FBsbqzlz5lx0QAAAypKHzdAr17dSkxpBOpqTr1s+WKuc/CKzYwEXpFRz5G699VYFBQVpxowZ8vLyUtu2bRUZGSlfX18dP35c27Zt09atW9W2bVs98sgj6tevX3lmL1fMkQMA93b4xCkNfH25jmTn67JLIvT28Day2QyzYwGlUqoi5+3traSkJAUHBysiIkJDhgzRsWPHdOrUKYWFhalVq1bq27evYmNjyzNzhaDIAYD7S0g6oSFvrVRBkUNjetTX/Vc0MTsSUCqlKnIxMTGaPn26rrjiCtlsNqWmpio8PLw885mGIgcAlcO8Dcma8HmCJGna0DgNalXL3EBAKZRqjty9996rAQMGqHPnzjIMQ59++qnWrl2rU6eYKAoAsKZBrWppTI/6kqT7v9rESlZYSqn3kdu6dau+/vprPfLII6pXr54OHDggwzDUoEEDtWzZUnFxcWrZsqWl58dJXJEDgMrE4XDq1o/j9fP2NFUP8tH8cV1UM8TP7FjAP7rgDYEbNGigVatWKSAgQJs2bVJCQkLxbcuWLcrOzi7rrBWKIgcAlUtOfpGufWOFdqZlq3mtEH1xWyf5eXuYHQs4pzI/2UGSnE6nDMPaK38ocgBQ+SRlnNTA15crI7dAV7eoqVevb2X5v8/g3sr8ZAdJ/NADACwpqpq/pt/YWp42Q99uStFrnMkKF1cuRa48PfPMM+rcubP8/f1VpUqVsz4mMTFR/fv3V0BAgMLCwjR+/HgVFBRUbFAAgCV1qBeqpwed3kbrxZ92acGWFJMTASWzXJErKCjQ4MGDdccdd5z143a7XVdddZVyc3O1bNkyzZo1S1999ZUmTpxYwUkBAFY1rH20RnauK0m6+/ON2no409xAQAnKZY5cRfjggw80YcIEnThx4oz7f/jhB1199dVKSkpSZGSkJGnWrFkaOXKk0tPTz3u+G3PkAKByK7I7dPMHa7V091HVquKnr8d1UVigj9mxgDNY7orcP1m5cqViY2OLS5wk9e3bV/n5+YqPjy/xefn5+crKyjrjBgCovDw9bHrt+taKCQtQ8olTGvPpehXaHWbHAs7gdkUuNTVVERERZ9xXtWpVeXt7KzU1tcTnTZ48WSEhIcW3qKio8o4KAHBxIf5eeuf/2ijQx1Nr9mfoqW+3mR0JOINLFLlJkybJMIxz3tatW3fer3e2VbP/tCXKgw8+qMzMzOJbUlLSBX0tAAD30iA8SNOGxkmSPlp5UJ+vTTQ3EPAnnmYHkKRx48Zp2LBh53xM3bp1z+u1atSoodWrV59x3/Hjx1VYWPi3K3V/5uPjIx8f5j4AAP7usqYRuufyRnrpp116dN5WNQgPUps6Vc2OBbhGkQsLC1NYWFiZvFanTp30zDPPKCUlRTVr1pQkLVy4UD4+PmrTpk2ZfA4AQOUzrmcDbTucpQVbU3XHJ/H65s6uigj2NTsWKjmXGFotjcTERCUkJCgxMVF2u734WLCcnBxJUp8+fdS0aVMNHz5cGzZs0C+//KJ7771Xo0ePZvUpAOCC2WyGXhzSUo0jgpSena/bPo5XXqHd7Fio5Cy3/cjIkSP14Ycf/u3+RYsWqUePHpJOl70xY8bo119/lZ+fn2644QZNnTq1VEOnbD8CADibg8dyNeC15co8VajBbWrr+etacKIRTGO5IldRKHIAgJIs3X1EI95fI4dTmtS/qUZ2iTE7Eiopyw2tAgBgtm4Nq+vBfpdIkp76brtW7j1mciJUVhQ5AAAuwKhuMRoUFym7w6mxn63XoeMnzY6ESogiBwDABTAMQ89d20KxtYKVkVugWz+K16kCFj+gYlHkAAC4QL5eHnpreFuFBnhrW0qWHpizSUw9R0WiyAEAcBFqVfHT6ze2lofN0NcJh/XBigNmR0IlQpEDAOAidawXqoeuPL344ZnvtmvN/gyTE6GyoMgBAFAG/t2lrga0jFSRw6kxn65XWlae2ZFQCVDkAAAoA6cXPzRXkxpBOpqTrzs+iVdBkcPsWHBzFDkAAMqIv7en3hreRsG+nlqfeEJPfbvN7EhwcxQ5AADKUJ3QAL0yrJUMQ/p41UHNXpdkdiS4MYocAABlrGeTcE3o3UiS9PC8LdqSnGlyIrgrihwAAOXgzl4N1LtJuAqKHLrt43hl5BaYHQluiCIHAEA5sNkMvTQ0TnVD/ZV84pTGz9wgu4PNglG2KHIAAJSTED8vvTW8rfy8PLRsz1FNXbjT7EhwMxQ5AADKUeMaQXr+uhaSpOm/7dWCLSkmJ4I7ocgBAFDO+reM1KiuMZKkiV9s1N4jOSYngrugyAEAUAEe6NdEHWKqKbfArjGfrNfJgiKzI8ENUOQAAKgAnh42vXpDK1UP8tHOtGw9MneLnE4WP+DiUOQAAKgg4UG+eu36VvKwGZqzIVkz17BZMC4ORQ4AgArUoV6o7uvbWJI0af5WbT7EZsG4cBQ5AAAq2G3d6+nyphEqsDt0x6fxOnGSzYJxYShyAABUMMMwNHVwS0VX89eh46d0zxcb5WCzYFwAihwAACYI8fPSGze2lrenTb/uSNf0xXvNjgQLosgBAGCS2FohempgM0nSiwt3asXeoyYngtVQ5AAAMNHQdtEa3Ka2HE5p/MwNSs3MMzsSLIQiBwCAyZ4cGKsmNYJ0NKdAd85cr0K7w+xIsAiKHAAAJvPz9tCbN7VRkI+n1h44rucX7DA7EiyCIgcAgAuoGxagFwa3lCS9s3S/FmxJMTkRrIAiBwCAi7gitoZu7V5PknTf7E3afzTX5ERwdRQ5AABcyH19G6td3arKzi/SHZ/E61SB3exIcGEUOQAAXIiXh02v3dBaYYE+2pGarce+3mJ2JLgwihwAAC4mIthX/70+TjZDmh1/SF/FHzI7ElwURQ4AABfUuX6Y7urdSJL0yLwt2pOebXIiuCKKHAAALmpcrwbq0iBUpwrtGvvpBubL4W8ocgAAuCgPm6FpQ1upepCPdqZla9L8rWZHgouhyAEA4MKqB/nolaFxMgzp83VJmrOe+XL4H4ocAAAurnODMN3Vu6GkP+bL5ZicCK6CIgcAgAXc2auhOtcP1ckCu8Z+up75cpBEkQMAwBI8bIamDYtTWODp+XJPfMN8OVDkAACwjPAgX70y7PR8uVlrkzRvQ7LZkWAyihwAABbSpUGYxvc6PV/uobmbtfcI8+UqM4ocAAAWM753Q3Wq97/5cnmFzJerrChyAABYjIfN0CvD4hQW6K0dqcyXq8wocgAAWFB4sK+mDW0lw5BmrknS1wnMl6uMKHIAAFhU14ZhurNnA0nSw3O36MDRXJMToaJR5AAAsLDxvRuqfd1qyskv0vhZG1RQ5DA7EioQRQ4AAAvz9LBp2rA4hfh5adOhTL3w4w6zI6ECUeQAALC4yCp+euG6FpKkd5bu16Kd6SYnQkWhyAEA4Ab6NKuhEZ3qSJLu/WKj0rPyTE6EikCRAwDATTx45SW6pGawjuUWaMLnCbI7nGZHQjmjyAEA4CZ8vTz02g2t5OfloRV7j+nNxXvNjoRyRpEDAMCN1K8eqCcHNpMkvfTTLsUfzDA5EcoTRQ4AADdzXZvaGhgXKbvDqfEzE5R5stDsSCgnFDkAANyMYRh6elCs6oT6K/nEKT0wZ5OcTubLuSOKHAAAbijI10uvXt9KXh6GftiSqk9XJ5odCeWAIgcAgJtqUbuK7u/bRJL01LfbtCM1y+REKGsUOQAA3NgtXWPUo3F15Rc5NH7mBuUV2s2OhDJEkQMAwI3ZbIamDm6psEAf7UrL0bPfbzc7EsoQRQ4AADcXFuijF4e0lCR9tPKgftmeZnIilBWKHAAAlcCljarrlq4xkqT7vtzEEV5ugiIHAEAlcf8VjXVJzWBl5BZo4uyNcnCEl+VR5AAAqCR8PD3032Fx8vWyaenuo3p/+X6zI+EiUeQAAKhEGkYE6ZGrmkqSpizYoS3JmSYnwsWgyAEAUMnc2CFalzeNUKHdqbtmbdCpArYksSqKHAAAlYxhGJpybQuFB/lo75FcPfXdNrMj4QJR5AAAqISqBXjr5aFxMgzps9WJ+nFrqtmRcAEocgAAVFJdGoTp1u71JEn/+WqTUjPZksRqKHIAAFRiEy9vrOa1QnTiZKHu+SKBLUkshiIHAEAl5u1p0yvD4uTn5aEVe4/p7aX7zI6EUqDIAQBQydWrHqhJA05vSTL1x53afIgtSayCIgcAADSkbZSubF5DRQ6n7vqcLUmsgiIHAABkGIaeGdRcEcE+2nckV5N/2G52JJwHihwAAJAkVQ3w1tTBLSVJH608qEU7001OhH9CkQMAAMW6NayukZ3rSpLu/3KTMnILzA2Ec7JckXvmmWfUuXNn+fv7q0qVKmd9jGEYf7u9+eabFRsUAACLeqBfEzUMD9SR7Hw9OGeTnE62JHFVlityBQUFGjx4sO64445zPm7GjBlKSUkpvo0YMaKCEgIAYG2+Xh6aNixOXh6Gftyaptnxh8yOhBJ4mh2gtJ544glJ0gcffHDOx1WpUkU1atSogEQAALifZpEhmtinsZ77YYeemL9VHWNCFR3qb3Ys/IXlrsidr3HjxiksLEzt2rXTm2++KYfDcc7H5+fnKysr64wbAACV2ehu9dQ+pppyC+y6+4sEFdnP/XcpKp5bFrmnnnpKs2fP1s8//6xhw4Zp4sSJevbZZ8/5nMmTJyskJKT4FhUVVUFpAQBwTR42Qy8NaakgH0/FHzyuNxfvNTsS/sIlitykSZPOukDhz7d169ad9+s98sgj6tSpk+Li4jRx4kQ9+eSTeuGFF875nAcffFCZmZnFt6SkpIv9sgAAsLzaVf315KBmkqRpP+/WpkMnzA2EM7jEHLlx48Zp2LBh53xM3bp1L/j1O3bsqKysLKWlpSkiIuKsj/Hx8ZGPj88Ffw4AANzVoLha+nl7ur7blKIJsxL07fiu8vd2iQpR6bnEuxAWFqawsLBye/0NGzbI19e3xO1KAABAyU6f+hCr+APHte9orp79frueHtTc7FiQixS50khMTFRGRoYSExNlt9uVkJAgSWrQoIECAwP1zTffKDU1VZ06dZKfn58WLVqkhx9+WLfeeitX3AAAuEBV/E+f+nDTe6v1yapE9W4SoZ5Nws2OVekZTovt8jdy5Eh9+OGHf7t/0aJF6tGjhxYsWKAHH3xQe/bskcPhUL169TRq1CiNHTtWnp7n31uzsrIUEhKizMxMBQcHl+WXAACAZT35zTa9v3y/wgJ99OOEbgoN5CKJmSxX5CoKRQ4AgL/LK7RrwGvLtCstR5c3jdDbw9vIMAyzY1VaLrFqFQAAWIOvl4emDW0lbw+bftrGqQ9mo8gBAIBSaRoZrHv6NJJ0eqj10PGTJieqvChyAACg1EZ3q6e2daoqJ79I987eKIeDmVpmoMgBAIBS87AZenFIS/l7e2jVvgx9sOKA2ZEqJYocAAC4IHVCA/TQlZdIkqYs2KE96TkmJ6p8KHIAAOCC3dghWt0bVVd+kUMTv0hQkd1hdqRKhSIHAAAumGEYev7aFgr29dTGQ5l647e9ZkeqVChyAADgotQI8dVTg2IlSf/9Zbc2H8o0OVHlQZEDAAAXbUDLSF3ZvIaKHE7d80WC8grtZkeqFChyAADgohmGoacHNVdYoI92p+fopZ92mR2pUqDIAQCAMlEtwFvPXdNckvTO0n1ave+YyYncH0UOAACUmcuaRmhI29pyOqV7v9yonPwisyO5NYocAAAoU49e3VS1qvgpKeOUnvlum9lx3BpFDgAAlKkgXy9NHdxSkjRzTZIW7Ug3OZH7osgBAIAy16l+qP7dJUaS9J+vNunEyQKTE7knihwAACgX91/RWPWqByg9O19PfMMQa3mgyAEAgHLh6+WhqYNbymZIczcka+HWVLMjuR2KHAAAKDeto6tqdPd6kqSH5m7R8VyGWMsSRQ4AAJSruy9rpAbhgTqak6/H5281O45bocgBAIBy5evloRcHt5SHzdD8jYf1w+YUsyO5DYocAAAody2jquj2S08PsT4yb4uO5eSbnMg9UOQAAECFGN+7oRpHBOlYboEeY4i1TFDkAABAhfDxPL2K1cNm6LtNKfp202GzI1keRQ4AAFSY5rVDNLZHfUnSo/O26Eg2Q6wXgyIHAAAq1LheDdWkRpCOnyzUI/M2y+l0mh3JsihyAACgQnl72vTikJbytBn6cWua5m9kiPVCUeQAAECFaxYZojt7NZQkPT5/q9Kz80xOZE0UOQAAYIoxPeurWWSwTpws1MNztzDEegEocgAAwBReHjZNHdxSXh6GftqWpnkJyWZHshyKHAAAMM0lNYM1/vch1knztzHEWkoUOQAAYKrbe5weYs08VajH5m1liLUUKHIAAMBUXh42vXDd6VWsC7am6jvOYj1vFDkAAGC6ppHBGtOzgSTp8a+3chbreaLIAQAAlzCuZ4Pis1gnfbPN7DiWQJEDAAAuwdvTphcGt5CHzdA3Gw/rx62pZkdyeRQ5AADgMlrUrqJbu9eTJD0yb4tOnCwwOZFro8gBAACXclfvhqpfPUBHsvP15LcMsZ4LRQ4AALgUXy8PPX9dSxmGNGd9sn7dkWZ2JJdFkQMAAC6nTZ2quqVLjCTpoTlblJVXaHIi10SRAwAALmlin8aqG+qv1Kw8PfvddrPjuCSKHAAAcEl+3h6acm0LSdKstUlauvuIyYlcD0UOAAC4rA71QjWiUx1J0oNzNis3v8jkRK6FIgcAAFza/Vc0Ua0qfjp0/JSmLtxpdhyXQpEDAAAuLcDHU89e01yS9MGKA4o/eNzkRK6DIgcAAFzepY2q69rWteV0Sg98tUn5RXazI7kEihwAALCER6++RGGB3tqdnqPXF+01O45LoMgBAABLqOLvrScHxkqS3li0R9tTskxOZD6KHAAAsIx+sTXUp2mEihxOPfDVJtkdTrMjmYoiBwAALMMwDD01KFZBvp7aeChTM5bvNzuSqShyAADAUiKCffXIVZdIkqYu3KmDx3JNTmQeihwAALCcIW2j1Ll+qPIKHXrgq81yOivnECtFDgAAWI5hGHrumhby9bJp5b5j+nxtktmRTEGRAwAAlhQd6q97+zSWJD3z/XalZeWZnKjiUeQAAIBl3dwlRi2jqig7r0iPzttidpwKR5EDAACW5WEz9Py1LeTlYWjhtjQt2JJidqQKRZEDAACW1rhGkG6/tL4k6bGvtyrzVKHJiSoORQ4AAFje2J4NVK96gNKz8zVlwQ6z41QYihwAALA8Xy8PPfuv5pKkz1Ynas3+DJMTVQyKHAAAcAsd64VqWLsoSdKDczYpv8hucqLyR5EDAABu48F+lygs0Ed7j+Tq9UV7zY5T7ihyAADAbYT4e+mJAc0kSdN/26NdadkmJypfFDkAAOBWrmxeQ5ddEq5Cu1MPztksh8N9j++iyAEAALdiGIaeHBirAG8PxR88rk9XHzQ7UrmhyAEAALcTWcVP91/RRJI0ZcFOpWSeMjlR+aDIAQAAt3RTxzqKi6qinPwiPf71VrPjlAuKHAAAcEseNkPPXdtcnjb3Pb6LIgcAANxWkxrBbn18F0UOAAC4tXG9GqhemHse30WRAwAAbs3Xy0PPXuOex3dR5AAAgNvrWC9UQ9uePr7robmbVVDkMDlR2aDIAQCASuHBK5soNMBbe9Jz9M7SfWbHKRMUOQAAUClU8ffWo1c3lST995fdOnA01+REF48iBwAAKo2BcZHq2iBM+UUOPfr1Fjmd1j6+iyIHAAAqDcMw9PSgWHl72rR091HN33jY7EgXxVJF7sCBA7rlllsUExMjPz8/1a9fX48//rgKCgrOeFxiYqL69++vgIAAhYWFafz48X97DAAAqJzqhgVofK8GkqSnvt2mEyet2xE8zQ5QGjt27JDD4dBbb72lBg0aaMuWLRo9erRyc3M1depUSZLdbtdVV12l6tWra9myZTp27JhGjBghp9OpV1991eSvAAAAuIJbu9fXvITD2pOeoykLdmjyNS3MjnRBDKfFB4dfeOEFTZ8+Xfv2nV598sMPP+jqq69WUlKSIiMjJUmzZs3SyJEjlZ6eruDg4PN63aysLIWEhCgzM/O8nwMAAKxjzf4MDXlrpSRp9u2d1K5uNZMTlZ6lhlbPJjMzU9Wq/e8bv3LlSsXGxhaXOEnq27ev8vPzFR8fX+Lr5OfnKysr64wbAABwX+1jqmlYu9/3lptjzb3lLF3k9u7dq1dffVW333578X2pqamKiIg443FVq1aVt7e3UlNTS3ytyZMnKyQkpPgWFRVVbrkBAIBreKDf6b3ldlt0bzmXKHKTJk2SYRjnvK1bt+6M5xw+fFhXXHGFBg8erFGjRp3xMcMw/vY5nE7nWe//w4MPPqjMzMziW1JSUtl8cQAAwGX9dW+5g8estbecSyx2GDdunIYNG3bOx9StW7f414cPH1bPnj3VqVMnvf3222c8rkaNGlq9evUZ9x0/flyFhYV/u1L3Zz4+PvLx8Sl9eAAAYGkD4yL1ZfwhLdtzVI/M26KP/t3+nBd/XIlLFLmwsDCFhYWd12OTk5PVs2dPtWnTRjNmzJDNduZFxU6dOumZZ55RSkqKatasKUlauHChfHx81KZNmzLPDgAArO2PveX6TFtSvLfcwLhaZsc6Ly4xtHq+Dh8+rB49eigqKkpTp07VkSNHlJqaesbctz59+qhp06YaPny4NmzYoF9++UX33nuvRo8ezepTAABwVnXDAnRnz//tLZd5stDkROfHUkVu4cKF2rNnj3799VfVrl1bNWvWLL79wcPDQ9999518fX3VpUsXDRkyRIMGDSreZw4AAOBsbru0vhqEB+poToGe/3GH2XHOi+X3kSsv7CMHAEDls2rfMQ17e5UMQ5pzR2e1iq5qdqRzstQVOQAAgPLUsV6orm1dW06n9PDcLSqyu/bechQ5AACAP3noyiYK8fPStpQsfbTyoNlxzokiBwAA8CehgT76zxVNJEkvLtyp1Mw8kxOVjCIHAADwF8PaRalVdBXlFtj11LfbzI5TIoocAADAX9hshp4Z1FweNkPfbU7RbzvTzY50VhQ5AACAs2gaGaybO9eVJD329VblFdrNDXQWFDkAAIASTLi8kWoE+yox46TeWLTH7Dh/Q5EDAAAoQaCPpyYNaCpJmr54r/YeyTE50ZkocgAAAOfQt1kN9WxcXYV2px6dt0WudJYCRQ4AAOAcDMPQEwNi5eNp04q9x/R1wmGzIxWjyAEAAPyD6FB/je/dUJL09HfblJNfZHKi0zzNDgAAAGAFo7vV06p9x3Rjh2gFeHuYHUeSZDhdaaDXhWRlZSkkJESZmZkKDg42Ow4AAMDfMLQKAABgURQ5AAAAi6LIAQAAWBRFDgAAwKIocgAAABZFkQMAALAoihwAAIBFUeQAAAAsiiIHAABgURQ5AAAAi6LIAQAAWBRFDgAAwKIocgAAABZFkQMAALAoihwAAIBFUeQAAAAsiiIHAABgURQ5AAAAi6LIAQAAWJThdDqdZodwRU6nU9nZ2QoKCpJhGGbHAQAA+BuKHAAAgEUxtAoAAGBRFDkAAACLosgBAABYFEUOAADAoihyAAAAFkWRAwAAsCiKHAAAgEX9P3XnU+Jx7VwZAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x1b8f069eb10>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(expr,(x,0.01,5))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "b14d5355",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left\\{x\\; \\middle|\\; x \\in \\left(0, 1\\right] \\wedge \\frac{\\log{\\left(x \\right)}}{\\log{\\left(2 \\right)}} < 4 - \\left(x + 1\\right)^{2} \\right\\}$"
      ],
      "text/plain": [
       "ConditionSet(x, log(x)/log(2) < 4 - (x + 1)**2, Interval.Lopen(0, 1))"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "solveset(expr<expr.subs(x,x+1),x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8ecaef1b",
   "metadata": {},
   "outputs": [],
   "source": [
    "q=QuadraticFunction(a,-2,-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "86471cd7",
   "metadata": {},
   "outputs": [],
   "source": [
    "q.delta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "18277988",
   "metadata": {},
   "outputs": [],
   "source": [
    "a=symbols(\"a\",real=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e427653",
   "metadata": {},
   "outputs": [],
   "source": [
    "expr=x*Abs(x-a)-1/S(2)*x*Abs(x+2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8bd389b3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "sympy.sets.sets.FiniteSet"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(solveset(list(expr.atoms(Abs))[0],x,Reals)+solveset(list(expr.atoms(Abs))[1],x,Reals))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "f5ce70e8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle x \\left(x + 3\\right)$"
      ],
      "text/plain": [
       "x*(x + 3)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Abs((x+3)*x).args[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c3090e83",
   "metadata": {},
   "outputs": [],
   "source": [
    "def abs_to_piecewise(f: Expr, x: Symbol, domain=Reals) -> Expr:\n",
    "    abs_expr_set = f.atoms(Abs)\n",
    "    zero_set = FiniteSet()\n",
    "    for abs_expr in abs_expr_set:\n",
    "        zero_set=zero_set+solveset(abs_expr, x, domain)\n",
    "\n",
    "    if(len(filter(lambda n: n.is_symbol,zero_set))>0):\n",
    "        raise ValueError(\"存在无法判断大小的变量。\")\n",
    "    \n",
    "    points=list(zero_set).sort()\n",
    "\n",
    "    points_num\n",
    "    \n",
    "    \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "bc41d7a8",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7e44433f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle x \\left|{a - x}\\right| - \\frac{x \\left|{x + 2}\\right|}{2}$"
      ],
      "text/plain": [
       "x*Abs(a - x) - x*Abs(x + 2)/2"
      ]
     },
     "execution_count": 101,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c69fead7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[a]"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "abs_to_piecewise(expr,x,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2199cc0c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left\\{0, 8\\right\\}$"
      ],
      "text/plain": [
       "{0, 8}"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "solveset(expr.subs(x,4)-4,a,Reals)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "8f15d7b6",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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JKdgs9nUunVrWSwWbdiwwew4pjpw4IDuuusuxcfHKyAgQPXq1dOECRNUWFhodjRJ0saUk+rz6lLNXlFS6m5oFaOf/tlVd3WJL9dS9/rrr6tFixaSpKuuukpLly4tt+euKPHhQXrvjnaaOSRR0aH+2n8sVze9vlzvrzigy/27c8qUKWrXrp2Cg4MVERGhfv36aefOnRd+oAeZMmWKLBaLxowZY3aUi7L36Ck9MHe9rnt1qX7cfkRelpLDGX55qJue7dfiokvd4cOHNXjwYFWvXl2BgYFq3bq1kpKSKii9ayguLtYTTzxR+rlat25d/etf/5LD4TA7WqX57bff1LdvX8XExMhiseirr7467XbDMDRx4kTFxMQoICBA3bp109atW80J+wenL3aff/65hgwZojvuuEMbN27U77//rkGDBpkdyyk88sgjiomJMTuGU9ixY4ccDodmzpyprVu36uWXX9Ybb7yhxx57zNRcDoehmUv26u8zluvg8TzVDAvQh3d30Ku3JVz2sXT/6+OPP9aYMWP00EMPSZI6duyo3r17Kzk5uVxfpyJYLBb1bBalb0dfqWuaRKiw2KGn5m/VvXOSlPXHMYiXYsmSJbr//vu1cuVKLV68WMXFxerRo4dyc3Mv/GAPsGbNGr355ptq2bKl2VHK7MCxXD386UZd+9ISfb0xVYYh9WkZrUX/6KoX+rdSbLXAi37OzMxMde7cWb6+vvruu++0bds2vfjiiwoLCyv/N+BCnn/+eb3xxhuaPn26tm/frqlTp2ratGl67bXXzI5WaXJzc9WqVStNnz79rLdPnTpVL730kqZPn641a9YoKipK1157baWu1nUGw4kVFRUZNWvWNN5++22zozidb7/91mjcuLGxdetWQ5Kxfv16syM5nalTpxrx8fGmvf6RrHxj8NsrjdrjvjFqj/vGGDknyTiZV1hhr9e+fXvj3nvvNbKysgxJRlZWltG4cWNj/PjxFfaaFcHhcBjvLN1n1H9soVF73DdGpyk/GWsPnCiX587IyDAkGUuWLCmX53NlOTk5RoMGDYzFixcbXbt2NR588EGzI53XhuRM4745a406478p/Td113urja2Hsy77uceNG2d06dKlHFK6lz59+hh33nnnadtuvvlmY/DgwSYlMpck48svvyy97nA4jKioKOO5554r3VZQUGCEhoYab7zxhgkJ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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<sympy.plotting.plot.Plot at 0x257e9a3eb10>"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "plot(expr.subs(a,2),(x,-6,10))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "330c55bd",
   "metadata": {},
   "outputs": [],
   "source": [
    "expr=2*cos(2*x+pi/3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "05a130b5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 2 \\cos{\\left(2 x + \\frac{\\pi}{3} \\right)}$"
      ],
      "text/plain": [
       "2*cos(2*x + pi/3)"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e02e4a31",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle \\left[-2, 1\\right]$"
      ],
      "text/plain": [
       "Interval(-2, 1)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "function_range(expr,x,Interval(0,pi/2))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "99ec50de",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.04"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "3/5*(1.6+0.4**2)+2/5*(2.1+0.6**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "0e35a859",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$\\displaystyle 0$"
      ],
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "811effc6",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
